CN107886552B - 贴图处理方法和装置 - Google Patents
贴图处理方法和装置 Download PDFInfo
- Publication number
- CN107886552B CN107886552B CN201610863539.9A CN201610863539A CN107886552B CN 107886552 B CN107886552 B CN 107886552B CN 201610863539 A CN201610863539 A CN 201610863539A CN 107886552 B CN107886552 B CN 107886552B
- Authority
- CN
- China
- Prior art keywords
- target pixel
- pixel point
- map
- environment
- color
- 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
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种贴图处理方法和装置。其中,该方法包括:在生成环境贴图的过程中,根据贴图中目标像素点在第一坐标系中的坐标确定目标像素点的反射向量,其中,第一坐标系为视空间的坐标系;根据目标像素点的反射向量,获取目标像素点对应的环境贴图颜色;通过预设算法将目标像素点对应的环境贴图颜色编码至预设区间;在渲染的过程中,对编码至预设区间的目标像素点的环境贴图颜色进行解码,得到目标像素点的环境反射颜色。本发明解决了现有技术中在图片的实时渲染过程中计算图片的环境反射颜色,导致图像处理器消耗大的技术问题。
Description
技术领域
本发明涉及图像处理领域,具体而言,涉及一种贴图处理方法和装置。
背景技术
Substance painter(贴图绘画工具)自问世以来被包括《神秘海域》、《刺客信条》在内的很多次世代游戏作为材质制作和编辑的工具,Substance painter内包含了大量预设好的智能材质,其标准的PBR(Physically Based Rendering,基于物理的渲染)shader(渲染器)包含了近年来的PBR领域的主要成果。在移动硬件条件下,接近乃至还原实质的效果一直是很多引擎厂商和游戏厂商的所追求的目标。
Substance painter的标准PBR算法需要在每个像素上进行多束平行光对该点影响的加权运算。需要对环境贴图按概率密度分布采样函数采样4到64次,并对每个点的边缘光、Cook-Torrance光照模型等相关项目进行计算,GPU(Graphics Processing Unit,图形处理器)资源消耗非常大。
针对现有技术中在图片的实时渲染过程中计算图片的环境反射颜色,导致图像处理器消耗大的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种贴图处理方法和装置,以至少解决现有技术中在图片的实时渲染过程中计算图片的环境反射颜色,导致图像处理器消耗大的技术问题。
根据本发明实施例的一个方面,提供了一种贴图处理方法,包括:在生成环境贴图的过程中,根据贴图中目标像素点在第一坐标系中的坐标确定目标像素点的反射向量,其中,第一坐标系为视空间的坐标系;根据目标像素点的反射向量,获取目标像素点对应的环境贴图颜色;通过预设算法将目标像素点对应的环境贴图颜色编码至预设区间;在渲染的过程中,对编码至预设区间的目标像素点的环境贴图颜色进行解码,得到目标像素点的环境反射颜色。
进一步地,将目标像素点在第一坐标系中的法向量的坐标值进行归一化处理,得到目标像素点的标准坐标值;确定以视线为入射线,以目标像素点所处的平面的切平面作为反射面的第二坐标系;将目标像素点的标准坐标值转化为第二坐标系中的坐标值,其中,第二坐标系中的坐标值为反射向量。
进一步地,根据目标像素点的反射向量,获取目标像素点在经纬图上对应的点的坐标值;对目标像素点在经纬图上对应的点进行采样,并获取采样点的坐标,通过采样点的坐标来读取目标像素点对应的环境贴图颜色。
进一步地,在预设算法为tone-mapping算法的情况下,通过tone-mapping算法将目标像素点对应的环境贴图颜色编码至预设区间内的公式为:其中,Lfinal为编码后的环境贴图颜色,L为目标点对应的环境贴图颜色,x为预设编码系数,x∈(0,1)。
进一步地,将贴图按照预设个数的粗糙度划分为预设个数的区间,得到预设个数的贴图。
进一步地,在得到目标像素点的环境反射颜色之前,方法还包括:将预设个数的贴图拼接至一张贴图中。
进一步地,对编码至预设区间的目标像素点的环境贴图颜色进行解码,得到目标像素点的环境反射颜色,包括:
进一步地,对预设个数的贴图进行采样;通过预设算法的反向算法对采样得到的拼图中的目标像素点的环境贴图坐标进行。
根据本发明实施例的另一方面,还提供了一种贴图处理装置,包括:确定模块,用于在生成环境贴图的过程中,根据贴图中目标像素点在第一坐标系中的坐标确定目标像素点的反射向量,其中,第一坐标系为视空间的坐标系;获取模块,用于根据目标像素点的反射向量,获取目标像素点对应的环境贴图颜色;编码模块,用于通过预设算法将目标像素点对应的环境贴图颜色编码至预设区间;解码模块,用于在渲染的过程中,对编码至预设区间的目标像素点的环境贴图颜色进行解码,得到目标像素点的环境反射颜色。
进一步地,所述确定模块包括:归一化子模块,用于将目标像素点在第一坐标系中的法向量的坐标值进行归一化处理,得到目标像素点的标准坐标值;确定子模块,用于确定以视线为入射线,以目标像素点所处的平面的切平面作为反射面的第二坐标系;转化子模块,用于将目标像素点的标准坐标值转化为第二坐标系中的坐标值,其中,第二坐标系中的坐标值为反射向量。
进一步地,获取模块包括:获取子模块,用于根据目标像素点的反射向量,获取目标像素点在经纬图上对应的点的坐标值;采样子模块,用于对目标像素点在经纬图上对应的点进行采样,并获取采样点的坐标,通过采样点的坐标来读取目标像素点对应的环境贴图颜色。
进一步地,编码模块包括:计算子模块,用于在预设算法为tone-mapping算法的情况下,通过tone-mapping算法将目标像素点对应的环境贴图颜色编码至预设区间内的公式为:其中,Lfinal为编码后的环境贴图颜色,L为目标点对应的环境贴图颜色,x为预设编码系数,x∈(0,1)。
进一步地,所述装置还包括:划分子模块,用于在根据贴图中目标像素点在第一坐标系中的坐标确定目标像素点的反射向量之前,将贴图按照预设个数的粗糙度划分为预设个数的区间,得到预设个数的贴图。
进一步地,所述装置还包括:拼接模块,用于在得到目标像素点的环境反射颜色之前,将预设个数的贴图拼接至一张贴图中。
进一步地,解码模块包括:对预设个数的贴图进行采样;通过预设算法的反向算法对采样得到的拼图中的目标像素点的环境贴图坐标进行。
在本发明实施例中,在生成环境贴图的过程中加入预处理过程,在预处理过程中对获取环境贴图颜色,并将环境贴图颜色编码至预设区间,现有技术中获取环境贴图的环境贴图颜色是在图像渲染过程中进行的,不仅花费时间较长,造成应用(例如:游戏应用)的卡顿,还会占用大量的GPU资源,而本申请在生成贴图的过程中获取环境贴图颜色,并将环境贴图颜色编码,使得图像在渲染过程中只需要将环境贴图颜色进行相应的解码,不仅缩短了渲染的时长,还减小了GPU的消耗。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种贴图处理方法的流程图;
图2是根据本申请实施例的一种游戏流畅度测试结果的示意图;
图3是根据本申请实施例的一种x为不同参数时所表达的颜色精度的比对示意图;
图4是根据本发明实施例的一种贴图处理装置的示意图;
图5是根据本发明实施例的一种可选的贴图处理装置的示意图;
图6是根据本发明实施例的一种可选的贴图处理装置的示意图;
图7是根据本发明实施例的一种可选的贴图处理装置的示意图;
图8是根据本发明实施例的一种可选的贴图处理装置的示意图;
图9是根据本发明实施例的一种可选的贴图处理装置的示意图;以及
图10是根据本发明实施例的一种可选的贴图处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面,首先对本发明实施例中涉及的相关技术术语进行解释,以方便对本发明实施例的理解。
渲染:Render,渲染时CG的最后一道工序,也是最终是图像符合3D场景的阶段,能够完成渲染的常用软件包括:3DS MAX、RenderMan等。
像素点:计算机通过像素点的位置、颜色、亮度来表示图像。
Mipmap:Mipmap是一种电脑图形图像技术,用于在三维图像的二维代替物中达到立体感效应。
实施例1
根据本发明实施例,提供了一种贴图处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的贴图处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,在生成环境贴图的过程中,根据贴图中目标像素点在第一坐标系中的坐标确定目标像素点的反射向量,其中,第一坐标系为视空间的坐标系。
在上述步骤中,对环境贴图以像素点为单位进行处理,所述目标像素点为环境贴图中的任意一个像素点,在生成环境贴图的过程中需要对贴图的每个像素点都进行相同的处理。
步骤S104,根据目标像素点的反射向量,获取目标像素点对应的环境贴图颜色。
步骤S106,通过预设算法将目标像素点对应的环境贴图颜色编码至预设区间。
具体的,在上述步骤中,所述预设区间是可以根据实际需求改变的区间,例如,在一种可选的实施例中,可以将环境贴图颜色编码至[0,1]的区间内。
此处需要说明的是,通常贴图的颜色表示的范围为[0,1],而二维的颜色标识范围通常为[-1,1],为了在贴图中能够表现二维的图片颜色,通常需要采用32位纹理表示,增加了实时渲染的运算量,而本申请所述实施例采用的方法将环境贴图颜色编码至预设区间,使得渲染时不需要32位纹理就能够表达超过[0,1]的颜色。
步骤S108,在渲染的过程中,对编码至预设区间的目标像素点的环境贴图颜色进行解码,得到目标像素点的环境反射颜色。
在一种可选的实施例中,可以将所述步骤S102至S104的步骤作为生成环境贴图的预处理过程,通过在预处理过程中对获取环境贴图颜色,并将环境贴图颜色编码至预设区间。
例如,对于光照的处理可以是在unreal4(UNREAL ENGINE,虚幻引擎)方案的基础上提出优化。可以是如下的推导过程:
其中,r为粗糙度,mip用于表示mipmap层次。
此处需要说明的是,上述方案虽然对光照的处理进行了一定改进,但仍然不支持HDR(High-Dynamic Range,高动态光照渲染)光照,而且计算复杂,比如需要在渲染时计算光线的反射向量,需要从反射向量计算出纹理坐标,而且mipmap并可不控,且一些低端的移动设备并不支持制定的采样操作而本申请通过将环境贴图颜色编码至预设区间,使得贴图能够支持HDR的颜色范围,由于在预处理过程中计算了反射向量,因此在渲染的过程中也无需计算反射向量,无需球面或cubemap(立方体贴图)式的坐标变换,节省了实时渲染的时间,从而减少了应用的卡顿。
此处需要说明的是,现有技术中获取环境贴图的环境贴图颜色是在图像渲染过程中进行的,不仅花费时间较长,造成应用(例如:游戏应用)的卡顿,还会占用大量的GPU资源,而本申请在生成贴图的过程中获取环境贴图颜色,并将环境贴图颜色编码,使得图像在渲染过程中只需要将环境贴图颜色进行相应的解码,不仅缩短了渲染的时长,还减小了GPU的消耗。
图2是根据本申请实施例的一种游戏流畅度测试结果的示意图,结合图2所示的示例,横坐标用于表示不同的游戏,纵坐标用于表示游戏卡顿的等级,其中,游戏A、B、C为使用本申请的贴图处理方法的游戏,可以从图2看出,使用本申请的贴图处理方法后,游戏的卡顿相较于普通的游戏较低,这种效果是通过减小了渲染时的GPU消耗达到的。
由此,所述实施例解决了现有技术中在图片的实时渲染过程中计算图片的环境反射颜色,导致图像处理器消耗大的技术问题。
可选的,根据本申请所述实施例,步骤S102,根据所述贴图中目标像素点在第一坐标系中的坐标确定所述目标像素点的反射向量的步骤,包括:
步骤S1021,将目标像素点在第一坐标系中的法向量的坐标值进行归一化处理,得到目标像素点的标准坐标值。
步骤S1023,确定以视线为入射线,以目标像素点所处的平面的切平面作为反射面的第二坐标系。
步骤S1025,将目标像素点的标准坐标值转化为第二坐标系中的坐标值,其中,第二坐标系中的坐标值为反射向量。
具体的,上述第二坐标系可以世界空间的坐标系,即以法向量对应切平面为反射面的空间的坐标系。
在计算光照模型时,通常需要求取反射向量,通常标准的shader函数库都提供计算反射向量的函数,在一种可选的实施例中,可以通过shader函数库来计算目标像素点的反射向量。
在一种可选的实施例中,以目标像素点的坐标为(1245,333,56)作为示例,目标像素点在第一坐标系中的法向量为(0,5,0),经过归一化处理得到目标像素点的标准坐标值(0,1,0),确定作为入射线的视线为(0,-1,-1),以目标像素点所处的平面的切平面作为反射面,可以得到反射面的第二坐标系中的坐标值,即为反射向量(0,1,-1)。
可选的,根据本申请所述实施例,步骤S104,根据所述目标像素点的反射向量,获取所述目标像素点对应的环境贴图颜色,包括:
步骤S1041,根据目标像素点的反射向量,获取目标像素点在经纬图上对应的点的坐标值。
在一种可选的实施例中,可以通过如下代码获取目标像素点在经纬图上对应的点的坐标值:
//通过视线的方向向量来获得球坐标系上的点
vec2pos=M_INV_PI*vec2(atan(-dir.z,-dir.x),2.0*asin(dir.y));
pos=0.5*pos+vec2(0.5);
pos.x+=environment_rotation;
//通过该点坐标值,即uv值,从而读取颜色值
texture2DLod(environment_texture,pos,lod).rgb*environment_exposure;
其中,经纬图是展开一个球面图到平面图的一种映射方式,代码中的x、y、z为像素点的反射向量。
此处需要说明的是,获取像素点在经纬图上对应的点的坐标的方法可以是上述实施例中枚举的方法,但不仅限于上述方法。
步骤S1043,对目标像素点在经纬图上对应的点进行采样,并获取采样点的坐标,通过采样点的坐标来读取目标像素点对应的环境贴图颜色。
可选的,根据本申请所述实施例,步骤S106,通过预设算法将目标像素点对应的环境贴图颜色编码至预设区间的步骤包括:
步骤S1061,在一种可选的实施例中,在所述预设算法为tone-mapping算法的情况下,通过tone-mapping算法将目标像素点对应的环境贴图颜色编码至预设区间内的公式为:其中,Lfinal为编码后的环境贴图颜色,L为目标点对应的环境贴图颜色,x为预设编码系数,x∈(0,1)。
具体的,上述步骤用于将高动态范围的颜色编码至预设区间内。
此处需要说明的是,此处可以以目标点的RGB值来表示环境贴图颜色,例如:其中,R∈(0,+∞),G∈(0,+∞),B∈(0,+∞),由于大部分R,B,G的数值都处于(0,255)的范围内,因此,向量L中的数值大多处于(0,1)的范围内,但对于高动态范围的颜色,仍存在处于(0,1)之外的数值,因此通过上述tone-mapping算法能够将高动态范围的颜色编码至预设区间内。
在一种可选的实施例中,以x=1作为示例,计算公式为在该示例中,仅使用了[0,0.5]的区间来表达[0,1]的颜色,但是通常[0,1]之间的颜色是最常用的颜色,当x=1时会导致[0,1]区间中的颜色精度损失过大,因此可以通过调整x的数值来调整算法所使用的范围。
图3是根据本申请实施例的一种x为不同参数时所表达的颜色精度的比对示意图,结合图3所示,其中横坐标用于表示环境贴图颜色在编码前的值,纵坐标用于表示环境贴图颜色在编码后的值,可以看出在x=1时,为了表达[0,1]的颜色,压缩后仅用了[0,0.5],且压缩后能够使用[0,0.75]表示[0,3]的颜色;在x=0.6时,为了表达[0,1]的颜色,压缩后用了[0,0.6],且压缩后能够使用[0,0.85]表示[0,3]的颜色;在x=0.3时,为了表达[0,1]的颜色,压缩后仅用了[0,0.6],且压缩后能够使用[0,0.9]表示[0,3]的颜色。
从上述示例中可以知晓,在使用上述算法对环境贴图颜色进行编码时,需要表达的颜色的范围越大,x的取值越大,可以通过设置算法中不同的x参数,来调整对环境贴图的编码。
此处需要说明的是,本申请所述实施例通过预设算法将环境贴图颜色压缩至预设区间,从而使压缩后的环境贴图颜色能够表达超过[0,1]范围之外的颜色。
可选的,根据本申请所述实施例,在所述步骤S102:根据贴图中目标像素点在第一坐标系中的坐标确定目标像素点的反射向量之前,所述方法还包括:
步骤S100,将贴图按照预设个数的粗糙度划分为预设个数的区间,得到预设个数的贴图。
具体的,所述粗糙度的取值范围可以是[0,1],用于控制漫反射组件混合到环境光组件的速度快慢,随着粗糙度的增加,将使得贴图中材质的外观变得不光滑,同时材质的外观也将变得越来越暗且平坦。
在一种可选的实施例中,可以将贴图按照粗糙度划分为9~25个区间,这些区间可以均匀的分布在[0,1]的范围内,得到粗糙度不同的9~25张环境贴图
在一种可选的实施例中,优选为将贴图按照粗糙度划分为16个区间,权衡了分辨率和粗糙度两个参数,从而得到粗糙度不同的16张环境贴图。
可选的,根据本申请所述实施例,在得到目标像素点的环境反射颜色之前,所述方法还包括:步骤S107,将预设个数的贴图拼接至一张贴图中。
具体的,可以将预设个数的贴图按照粗糙度由高至低或由低至高的顺序拼接至一张贴图中。
可选的,根据本申请所述实施例,步骤S108:在渲染的过程中,对编码至预设区间的目标像素点的环境贴图颜色进行解码,得到目标像素点的环境反射颜色,包括:
步骤S1081,对预设个数的贴图进行采样。
具体的,在上述步骤中,对预设个数的贴图进行采样时,采样的个数不做限制,上述采样的过程可以为调用opengl(Open Graphics Library,用于定义跨编程语言、跨平台的变成接口规格的图像程序接口)的API,比如调用texture2D()函数。
在一种可选的实施例中,可以对每个粗糙度层级进行进一步处理,例如:加入高斯模糊等,以使图像的显示效果进一步提升,有效的提更了贴图的可拓展性。
步骤S1083,通过预设算法的反向算法对采样得到的拼图中的目标像素点的环境贴图坐标进行解码。
由于现有技术是在贴图的粗糙度较低的情况下进行渲染,因此导致贴图的精度很低,而本申请上述步骤通过根据不同的粗糙度将贴图划分为不同的区间,得到多个粗糙度不同的贴图,并对多个粗糙度不同的贴图进行采样,然后对采样后贴图的像素点进行解码处理,使得采样贴图精度更高,由于现有技术是每个粗糙度区间对应的mipmap,因此在角色离相机较远时使用mipmap采样能够带来的效率提升。
实施例2
本申请还提出了一种贴图处理装置,用于执行实施例1中的贴图处理方法,图4是根据本申请实施例的一种贴图处理装置的示意图,该装置包括:
确定模块40,用于在生成环境贴图的过程中,根据贴图中目标像素点在第一坐标系中的坐标确定目标像素点的反射向量,其中,第一坐标系为视空间的坐标系。
获取模块42,用于根据目标像素点的反射向量,获取目标像素点对应的环境贴图颜色。
编码模块44,用于通过预设算法将目标像素点对应的环境贴图颜色编码至预设区间。
解码模块46,用于在渲染的过程中,对编码至预设区间的目标像素点的环境贴图颜色进行解码,得到目标像素点的环境反射颜色。
可选的,根据本申请所述实施例,结合图5所示,确定模块40包括:
归一化子模块50,用于将目标像素点在第一坐标系中的法向量的坐标值进行归一化处理,得到目标像素点的标准坐标值。
确定子模块52,用于确定以视线为入射线,以目标像素点所处的平面的切平面作为反射面的第二坐标系。
转化子模块54,用于将目标像素点的标准坐标值转化为第二坐标系中的坐标值,其中,第二坐标系中的坐标值为反射向量。
可选的,根据本申请所述实施例,结合图6所示,获取模块44包括:
获取子模块62,用于根据目标像素点的反射向量,获取目标像素点在经纬图上对应的点的坐标值。
采样子模块64,用于对目标像素点在经纬图上对应的点进行采样,并获取采样点的坐标,通过采样点的坐标来读取目标像素点对应的环境贴图颜色。
可选的,根据本申请所述实施例,结合图7所示,编码模块46包括:
计算子模块70,用于在预设算法为tone-mapping算法的情况下,通过tone-mapping算法将目标像素点对应的环境贴图颜色编码至预设区间内的公式为:
其中,Lfinal为编码后的环境贴图颜色,L为目标点对应的环境贴图颜色,x为预设编码系数,x∈(0,1)。
可选的,根据本申请所述实施例,结合图8所示,所述装置还包括:
划分子模块80,用于在根据贴图中目标像素点在第一坐标系中的坐标确定目标像素点的反射向量之前,将贴图按照预设个数的粗糙度划分为预设个数的区间,得到预设个数的贴图。
可选的,根据本申请所述实施例,结合图9所示,所述装置还包括:
拼接模块90,用于在得到目标像素点的环境反射颜色之前,将预设个数的贴图拼接至一张贴图中。
可选的,根据本申请所述实施例,结合图10所示,解码模块46包括:
采用子模块100,用于对预设个数的贴图进行采样。
解码子模块102,用于通过预设算法的反向算法对采样得到的拼图中的目标像素点的环境贴图坐标进行解码。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种贴图处理方法,其特征在于,包括:
在生成环境贴图的过程中,根据所述贴图中目标像素点在第一坐标系中的坐标确定所述目标像素点的反射向量,其中,所述第一坐标系为视空间的坐标系;
根据所述目标像素点的反射向量,获取所述目标像素点对应的环境贴图颜色;
通过预设算法将所述目标像素点对应的环境贴图颜色编码至预设区间;
在渲染的过程中,对编码至所述预设区间的目标像素点的环境贴图颜色进行解码,得到所述目标像素点的环境反射颜色;
其中,根据所述目标像素点的反射向量,获取所述目标像素点对应的环境贴图颜色,包括:
根据所述目标像素点的反射向量,获取所述目标像素点在经纬图上对应的点的坐标值;
对所述目标像素点在所述经纬图上对应的点进行采样,并获取采样点的坐标,通过所述采样点的坐标来读取所述目标像素点对应的环境贴图颜色。
2.根据权利要求1所述的方法,其特征在于,根据所述贴图中目标像素点在第一坐标系中的坐标确定所述目标像素点的反射向量,包括:
将所述目标像素点在所述第一坐标系中的法向量的坐标值进行归一化处理,得到所述目标像素点的标准坐标值;
确定以视线为入射线,以所述目标像素点所处的平面的切平面作为反射面的第二坐标系;
将所述目标像素点的标准坐标值转化为所述第二坐标系中的坐标值,其中,所述第二坐标系中的坐标值为所述反射向量。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,在根据所述贴图中目标像素点在第一坐标系中的坐标确定所述目标像素点的反射向量之前,所述方法还包括:
将所述贴图按照预设个数的粗糙度划分为所述预设个数的区间,得到所述预设个数的贴图。
5.根据权利要求4所述的方法,其特征在于,在得到所述目标像素点的环境反射颜色之前,所述方法还包括:将所述预设个数的贴图拼接至一张贴图中。
6.根据权利要求5所述的方法,其特征在于,在渲染的过程中,对编码至所述预设区间的目标像素点的环境贴图颜色进行解码,得到所述目标像素点的环境反射颜色,包括:
对所述预设个数的贴图进行采样;
通过所述预设算法的反向算法对采样得到的拼图中的目标像素点的环境贴图坐标进行解码。
7.一种贴图处理装置,其特征在于,包括:
确定模块,用于在生成环境贴图的过程中,根据所述贴图中目标像素点在第一坐标系中的坐标确定所述目标像素点的反射向量,其中,所述第一坐标系为视空间的坐标系;
获取模块,用于根据所述目标像素点的反射向量,获取所述目标像素点对应的环境贴图颜色;
编码模块,用于通过预设算法将所述目标像素点对应的环境贴图颜色编码至预设区间;
解码模块,用于在渲染的过程中,对编码至所述预设区间的目标像素点的环境贴图颜色进行解码,得到所述目标像素点的环境反射颜色;
其中,所述获取模块包括:
获取子模块,用于根据所述目标像素点的反射向量,获取所述目标像素点在经纬图上对应的点的坐标值;
采样子模块,用于对所述目标像素点在所述经纬图上对应的点进行采样,并获取采样点的坐标,通过所述采样点的坐标来读取所述目标像素点对应的环境贴图颜色。
8.根据权利要求7所述的装置,其特征在于,所述确定模块包括:
归一化子模块,用于将所述目标像素点在所述第一坐标系中的法向量的坐标值进行归一化处理,得到所述目标像素点的标准坐标值;
确定子模块,用于确定以视线为入射线,以所述目标像素点所处的平面的切平面作为反射面的第二坐标系;
转化子模块,用于将所述目标像素点的标准坐标值转化为所述第二坐标系中的坐标值,其中,所述第二坐标系中的坐标值为所述反射向量。
10.根据权利要求7至9中任意一项所述的装置,其特征在于,所述装置还包括:
划分子模块,用于在根据所述贴图中目标像素点在第一坐标系中的坐标确定所述目标像素点的反射向量之前,将所述贴图按照预设个数的粗糙度划分为所述预设个数的区间,得到所述预设个数的贴图。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
拼接模块,用于在得到所述目标像素点的环境反射颜色之前,将所述预设个数的贴图拼接至一张贴图中。
12.根据权利要求11所述的装置,其特征在于,所述解码模块包括:
采用子模块,用于对所述预设个数的贴图进行采样;
解码子模块,用于通过所述预设算法的反向算法对采样得到的拼图中的目标像素点的环境贴图坐标进行解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610863539.9A CN107886552B (zh) | 2016-09-29 | 2016-09-29 | 贴图处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610863539.9A CN107886552B (zh) | 2016-09-29 | 2016-09-29 | 贴图处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107886552A CN107886552A (zh) | 2018-04-06 |
CN107886552B true CN107886552B (zh) | 2021-04-27 |
Family
ID=61769819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610863539.9A Active CN107886552B (zh) | 2016-09-29 | 2016-09-29 | 贴图处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107886552B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921931A (zh) * | 2018-04-30 | 2018-11-30 | 成都明镜视觉科技有限公司 | 一种基于ibl的兼容处理方法 |
CN109118566B (zh) * | 2018-09-13 | 2023-08-22 | 网易(杭州)网络有限公司 | 贴图的压缩方法、装置、存储介质和电子装置 |
CN109395395A (zh) | 2018-09-20 | 2019-03-01 | Oppo广东移动通信有限公司 | 游戏运行方法及相关产品 |
CN111243099B (zh) * | 2018-11-12 | 2023-10-27 | 联想新视界(天津)科技有限公司 | 一种处理图像的方法和装置以及在ar设备中显示图像的方法和装置 |
CN109615686B (zh) * | 2018-12-07 | 2022-11-29 | 腾讯科技(深圳)有限公司 | 潜在可视集合的确定方法、装置、设备及存储介质 |
CN111612883B (zh) * | 2019-02-25 | 2024-02-02 | 网易(杭州)网络有限公司 | 立方体贴图的处理方法、装置和存储介质 |
CN111714883A (zh) * | 2020-06-19 | 2020-09-29 | 网易(杭州)网络有限公司 | 贴图的处理方法、装置及电子设备 |
CN112634381A (zh) * | 2020-12-21 | 2021-04-09 | 深圳雷霆数字娱乐有限公司 | 一种游戏中随机地图贴图的生成方法、装置、可读存储介质及计算机软件程序产品 |
CN112884860B (zh) * | 2021-03-01 | 2023-08-22 | 网易(杭州)网络有限公司 | 水面波纹效果生成方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699373A (zh) * | 2013-11-29 | 2014-04-02 | 小米科技有限责任公司 | 界面颜色显示方法、装置及系统 |
US8773446B2 (en) * | 2011-02-09 | 2014-07-08 | Xerox Corporation | Synchronous parallel pixel processing for scalable color reproduction systems |
CN104463948A (zh) * | 2014-09-22 | 2015-03-25 | 北京大学 | 三维虚拟现实系统与地理信息系统的无缝可视化方法 |
-
2016
- 2016-09-29 CN CN201610863539.9A patent/CN107886552B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8773446B2 (en) * | 2011-02-09 | 2014-07-08 | Xerox Corporation | Synchronous parallel pixel processing for scalable color reproduction systems |
CN103699373A (zh) * | 2013-11-29 | 2014-04-02 | 小米科技有限责任公司 | 界面颜色显示方法、装置及系统 |
CN104463948A (zh) * | 2014-09-22 | 2015-03-25 | 北京大学 | 三维虚拟现实系统与地理信息系统的无缝可视化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107886552A (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107886552B (zh) | 贴图处理方法和装置 | |
CN105374005B (zh) | 数据处理系统及其操作方法、计算机可读存储介质 | |
US20170272722A1 (en) | Method for data reuse and applications to spatio-temporal supersampling and de-noising | |
US10049486B2 (en) | Sparse rasterization | |
US9761001B2 (en) | Filtered shadow mapping | |
CN107330964B (zh) | 一种复杂三维物体的显示方法及系统 | |
CN111612882B (zh) | 图像处理方法、装置、计算机存储介质及电子设备 | |
CN114820905B (zh) | 虚拟形象生成方法、装置、电子设备及可读存储介质 | |
US10089782B2 (en) | Generating polygon vertices using surface relief information | |
Argudo et al. | Single-picture reconstruction and rendering of trees for plausible vegetation synthesis | |
US20090309877A1 (en) | Soft shadow rendering | |
US20210295589A1 (en) | Denoising techniques suitable for recurrent blurs | |
CN115100337A (zh) | 一种基于卷积神经网络的全身人像视频重照明方法和装置 | |
CN113077541B (zh) | 一种虚拟天空画面的渲染方法及相关设备 | |
US11875478B2 (en) | Dynamic image smoothing based on network conditions | |
CN111724313B (zh) | 一种阴影贴图生成方法与装置 | |
WO2023177888A1 (en) | Locking mechanism for image classification | |
US20230082839A1 (en) | Rendering scalable raster content | |
CN115311403A (zh) | 深度学习网络的训练方法、虚拟形象生成方法及装置 | |
Polasek et al. | Vision UFormer: Long-range monocular absolute depth estimation | |
CN109074673A (zh) | 通过图形处理单元的纹理单元的常数乘法 | |
CN111739074A (zh) | 一种场景多点光源渲染方法及装置 | |
KR102559691B1 (ko) | 뉴럴 렌더링 기반 형상 색상 통합 3d 메시 복원 방법 및 장치 | |
US11776179B2 (en) | Rendering scalable multicolored vector content | |
KR100992151B1 (ko) | 얼굴 영상의 조명 정규화 방법 및 장치 |
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 |