CN108109194B - 虚拟现实场景中镭射纸效果的实现方法及系统 - Google Patents
虚拟现实场景中镭射纸效果的实现方法及系统 Download PDFInfo
- Publication number
- CN108109194B CN108109194B CN201711486901.6A CN201711486901A CN108109194B CN 108109194 B CN108109194 B CN 108109194B CN 201711486901 A CN201711486901 A CN 201711486901A CN 108109194 B CN108109194 B CN 108109194B
- Authority
- CN
- China
- Prior art keywords
- texture map
- texture
- map
- pixel
- highlight
- 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/50—Lighting effects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种虚拟现实场景中镭射纸效果的实现方法及系统,方法包括:利用产品的几何数据、主纹理贴图、反光纹理贴图和高光纹理贴图建立产品模型,主纹理贴图包含产品的材质纹理,反光纹理贴图包含镭射纸的色彩信息,高光纹理贴图为具有光栅形状的灰度图;根据产品模型顶点的纹理坐标,分别从产品模型的主纹理贴图、反光纹理贴图以及高光纹理贴图中采集对应像素点的像素值,并利用获得的像素值,根据预设的光照模型求取顶点的颜色值;根据属于同一片元的各顶点的颜色值求取对应片元上各像素点的颜色值,将着色后的片元输出显示。本发明虚拟现实场景中镭射纸效果的实现方法及系统,方法更简单实用,运算量相对小,有助于加快工作进度。
Description
技术领域
本发明涉及视觉仿真技术领域,特别是涉及一种虚拟现实场景中镭射纸效果的实现方法及系统。
背景技术
镭射纸是一种采用激光防伪技术、UV深条纹压缩技术以及定位镭射印刷制作的防伪包装材料,用于烟酒、奶粉、日用品等各种纸盒防伪包装。比如其中的定位镭射纸,其上具有周期性的矩形栅格状光栅,在白光照射下,可以呈现出动态闪烁的彩虹色效果,具有高效的防伪性能。镭射纸的表面呈色机理实质为光照射到镭射纸表面形成的反射光,在镭射纸表面发生了衍射现象,从而使表面呈现出色彩斑斓的效果。
在虚拟现实购物应用中,为了营造一个逼真的虚拟购物场景,提升购物者的使用体验,会在虚拟现实场景中仿真镭射纸效果。现有技术中,通过对镭射纸表面结构建立数学模型,基于薄膜干涉衍射技术来仿真呈现出镭射纸效果,但是镭射纸的表面微观结构十分复杂,建立数学模型的方法运算过程复杂,运算量大,并且运算耗时长,会大大降低工作进度。
发明内容
本发明的目的是提供一种虚拟现实场景中镭射纸效果的实现方法及系统,与现有技术相比更简单实用,并且有助于加快工作进度。
为实现上述目的,本发明提供如下技术方案:
一种虚拟现实场景中镭射纸效果的实现方法,包括:
利用产品的几何数据、主纹理贴图、反光纹理贴图和高光纹理贴图建立产品模型,所述主纹理贴图包含产品的材质纹理,所述反光纹理贴图包含镭射纸的色彩信息,所述高光纹理贴图为具有光栅形状的灰度图;
根据所述产品模型顶点的纹理坐标,分别从所述产品模型的主纹理贴图、反光纹理贴图以及高光纹理贴图中采集对应像素点的像素值,并利用获得的像素值,根据预设的光照模型求取顶点的颜色值;
根据属于同一片元的各顶点的颜色值求取对应片元上各像素点的颜色值,将着色后的片元输出显示。
可选地,创建所述反光纹理贴图的方法包括:在空白贴图上填充彩虹色,对填充颜色后的贴图进行衍射变换,然后对贴图进行低通滤波处理;
创建所述高光纹理贴图的方法包括:在空白贴图上形成灰度显示的光栅形状,然后对贴图进行低通滤波处理。
可选地,计算所述产品模型顶点的纹理坐标包括:
将顶点坐标从产品模型空间转换到齐次裁剪空间,将不在齐次裁剪空间内的顶点裁剪掉;
将顶点坐标从产品模型空间转换到世界空间;
根据以下公式计算运行时顶点的针对主纹理贴图的纹理坐标(u,v)main:
(u,v)main=texcoord.xy·MainTex_ST.xy+MainTex_ST.zw;
其中,texcoord表示顶点的原始纹理坐标,MainTex_ST表示四维向量,x和y表示纹理的缩放系数,z和w表示纹理的平移系数。
可选地,所述根据所述产品模型顶点的纹理坐标,分别从所述产品模型的主纹理贴图、反光纹理贴图以及高光纹理贴图中采集对应像素点的像素值之前,还包括:
根据获取的用户的头部位置信息,求取用户的视角向量,并根据所述视角向量计算运行时针对高光纹理贴图的纹理坐标。
可选地,计算所述产品模型顶点的纹理坐标包括:
将高光纹理贴图的移动方向转换到视角空间;
计算高光纹理贴图在视角空间中的偏移量Value;
根据以下公式计算运行时顶点的针对高光纹理贴图的纹理坐标(u,v)gray:
可选地,所述利用获得的像素值,根据预设的光照模型求取顶点的颜色值包括:
根据预设的光照模型计算顶点的材质漫反射颜色值,表示为:
mdiffuse=m_pixel+gray*r_pixel;
其中,mdiffuse表示材质漫反射颜色值,m_pixel表示从主纹理贴图中采集的对应像素点的像素值,r_pixel表示从反光纹理贴图中采集的对应像素点的像素值,gray表示在高光纹理贴图中对应像素点的灰度值;
根据兰伯特定律,计算漫反射颜色值,表示为:
diffuse=(clight*mdiffuse)max(0,n*l);
其中,clight表示入射光颜色和强度,n表示表面法向,l表示光源方向;
结合所述光照模型中的环境光ambient以及高光反射光specular,计算顶点的颜色值,表示为:col=diffuse+ambient+specular。
可选地,所述根据属于同一片元的各顶点的颜色值求取对应片元上各像素点的颜色值包括:利用形成三角网络的三个顶点的颜色值,通过插值运算,获得三角网络所覆盖片元上各像素点的颜色值。
一种虚拟现实场景中镭射纸效果的实现系统,包括:
建立模块,用于利用产品的几何数据、主纹理贴图、反光纹理贴图和高光纹理贴图建立产品模型,所述主纹理贴图包含产品的材质纹理,所述反光纹理贴图包含镭射纸的色彩信息,所述高光纹理贴图为具有光栅形状的灰度图;
顶点着色模块,用于根据所述产品模型顶点的纹理坐标,分别从所述产品模型的主纹理贴图、反光纹理贴图以及高光纹理贴图中采集对应像素点的像素值,并利用获得的像素值,根据预设的光照模型求取顶点的颜色值;
片元着色模块,用于根据属于同一片元的各顶点的颜色值求取对应片元上各像素点的颜色值,将着色后的片元输出显示。
可选地,还包括:设置在头盔上的用于检测用户的头部位置信息的位置传感器。
由上述技术方案可知,本发明所提供的虚拟现实场景中镭射纸效果的实现方法及系统,首先利用产品的几何数据、主纹理贴图、反光纹理贴图和高光纹理贴图建立产品模型,然后根据产品模型顶点的纹理坐标,分别从产品模型的主纹理贴图、反光纹理贴图以及高光纹理贴图中采集对应像素点的像素值,并利用获得的像素值,根据预设的光照模型求取顶点的颜色值,进一步,根据属于同一片元的各顶点的颜色值求取对应片元上各像素点的颜色值,将着色后的片元输出显示。
本发明虚拟现实场景中镭射纸效果的实现方法及系统,利用包含产品的材质纹理的主纹理贴图、包含镭射纸色彩信息的反光纹理贴图和具有光栅形状的高光纹理贴图来仿真得到镭射纸效果,能够满足实际具体的仿真要求,而与现有技术相比本方法更简单实用,运算量相对小,有助于加快工作进度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种虚拟现实场景中镭射纸效果的实现方法的流程图;
图2为本发明实施例中创建反光纹理贴图的方法流程图;
图3为本发明实施例中创建得到的反光纹理贴图对应的灰度图;
图4为本发明实施例中创建得到的高光纹理贴图;
图5为本发明实施例中计算纹理坐标的方法流程图;
图6为本发明又一实施例提供的一种虚拟现实场景中镭射纸效果的实现方法的流程图;
图7为本发明实施例提供的一种虚拟现实场景中镭射纸效果的实现系统的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
请参考图1,本发明实施例提供的一种虚拟现实场景中镭射纸效果的实现方法,包括步骤:
S10:利用产品的几何数据、主纹理贴图、反光纹理贴图和高光纹理贴图建立产品模型,所述主纹理贴图包含产品的材质纹理,所述反光纹理贴图包含镭射纸的色彩信息,所述高光纹理贴图为具有光栅形状的灰度图。
产品的几何数据包括产品的空间位置数据,用于表征产品的空间形状。
主纹理贴图包含产品的材质纹理。
反光纹理贴图包含镭射纸的色彩信息,需要说明的是,反光纹理贴图的宽高比必须与主纹理贴图的宽高比一致,这样避免由于各贴图比例不一致而造成建立的产品模型变形失真的情况。
在具体实施时,可通过以下方法创建反光纹理贴图,请参考图2和图3,包括以下步骤:
S100:在空白贴图上填充彩虹色。
S101:对填充颜色后的贴图进行仿射变换。在具体实施时,可以对填充颜色后的贴图进行球面化处理或者波浪扭曲处理,但不限于此,也可以采用其它仿射变换处理方法,均在本发明保护范围内。通过对填充颜色后的贴图进行仿射变换,使贴图更接近真实镭射纸的色彩效果。
S102:对贴图进行低通滤波处理。通过本步骤处理使得贴图上不同色域的边界模糊,使边界过渡更加平缓。示例性的,处理方法可以是对贴图进行高斯模糊处理。但不限于此,也可以采用其它对贴图进行低通滤波处理的方法,也均在本发明保护范围内。
图3所示为创建得到的反光纹理贴图对应的灰度图,在实际应用中创建得到的反光纹理贴图应是呈现出色彩的彩色图。
高光纹理贴图为具有光栅形状的灰度图。需要说明的是,高光纹理贴图的宽高比必须与主纹理贴图的宽高比一致,这样避免由于各贴图比例不一致而造成建立的产品模型变形失真的情况。
在具体实施时,可通过以下方法创建高光纹理贴图,包括以下步骤:首先,在空白贴图上形成灰度显示的光栅形状;进一步,对贴图进行低通滤波处理。通过对贴图进行低通滤波处理,使贴图上光栅格与周围区域的边界模糊。请参考图4所示,图4为本实施例创建得到的高光纹理贴图。
S11:根据所述产品模型顶点的纹理坐标,分别从所述产品模型的主纹理贴图、反光纹理贴图以及高光纹理贴图中采集对应像素点的像素值。
产品模型顶点的几何数据包括顶点坐标(Vertex)、顶点法向(Normal)和顶点的原始纹理坐标(Texcoord)。
本步骤中,首先根据产品模型的顶点坐标、顶点法向和顶点的原始纹理坐标计算运行时的顶点的主纹理坐标(即针对主纹理贴图的纹理坐标)和高光纹理坐标(即针对高光纹理贴图的纹理坐标),在具体实施时可通过以下方法计算,请参考图5,包括步骤:
S110:将顶点坐标从产品模型空间转换到齐次裁剪空间,将不在齐次裁剪空间内的顶点裁剪掉。
具体可根据以下公式计算顶点在齐次裁剪空间中的坐标:Pos=Matrix(M→P)·Vertex,其中,Pos表示顶点在齐次裁剪空间中的坐标,Matrix(M→P)表示产品模型空间坐标系变换到裁剪空间坐标系的变换矩阵。
S111:将顶点坐标从产品模型空间转换到世界空间。
具体可根据以下公式计算顶点在世界空间中的坐标:WorldPos=Matrix(M→W)·Vertex,其中,WorldPos表示顶点在世界空间中的坐标,Matrix(M→W)表示产品模型空间坐标系变换到世界空间坐标系的变换矩阵。
根据以下公式计算顶点在世界空间中的法向:WorldNormal=Matrix(M→W)·Normal,其中,WorldNormal表示顶点在世界空间中的法向。
S112:根据以下公式计算运行时顶点的针对主纹理贴图的纹理坐标(u,v)main:
(u,v)main=texcoord.xy·MainTex_ST.xy+MainTex_ST.zw;
其中,MainTex_ST表示四维向量,x和y表示纹理的缩放系数,z和w表示纹理的平移系数。
本步骤中,在获得运行时顶点的主纹理坐标(即针对主纹理贴图的纹理坐标)后,进一步,根据顶点的主纹理坐标从主纹理贴图中采集对应像素点的像素值,表示为m_pixel;根据主纹理坐标从反光纹理贴图中采集对应像素点的像素值,表示为r_pixel;根据高光纹理坐标(即求取的主纹理坐标)从高光纹理贴图中采集对应像素点的像素值pixel3。
具体根据以下公式可以计算在高光纹理贴图中对应像素点的灰度值:
gray=pixel3 r 0.299+pixel3 g 0.587+pixel3 b 0.114;
其中,gray表示灰度值,Pixel3表示在高光纹理贴图中采集的对应像素点的像素值。
S12:利用获得的像素值,根据预设的光照模型求取顶点的颜色值。
本步骤中,利用获得的像素值求取顶点的颜色值包括:
S120:根据预设的光照模型计算顶点的材质漫反射颜色值,表示为:
mdiffuse=m_pixel+gray*r_pixel;
其中,mdiffuse表示材质漫反射颜色值,m_pixel表示从主纹理贴图中采集的对应像素点的像素值,r_pixel表示从反光纹理贴图中采集的对应像素点的像素值,gray表示在高光纹理贴图中对应像素点的灰度值。
S121:根据兰伯特定律,计算漫反射颜色值,表示为:
diffuse=(clight*mdiffuse)max(0,n*l);
其中,clight表示入射光颜色和强度,n表示表面法向,l表示光源方向。
S122:结合所述光照模型中的环境光ambient以及高光反射光specular,计算顶点的颜色值,表示为:
col=diffuse+ambient+specular。
其中specular表示根据光照模型求得的高光反射光即镜面反射光。
S13:根据属于同一片元的各顶点的颜色值求取对应片元上各像素点的颜色值,将着色后的片元输出显示。
通过上步骤得到产品模型上顶点的颜色值后,根据属于同一片元的各顶点的颜色求取对应片元上各像素点的颜色值,在具体实施时,可通过以下方法实现,具体包括:利用形成三角网络的三个顶点的颜色值,通过插值运算,获得三角网络所覆盖片元上各像素点的颜色值。
进一步,进行光栅化处理,计算片元上像素点在显示屏幕上的对应位置,将着色后的片元输出显示。
可以看出,本实施例虚拟现实场景中镭射纸效果的实现方法,利用包含产品的材质纹理的主纹理贴图、包含镭射纸色彩信息的反光纹理贴图和具有光栅形状的高光纹理贴图来仿真得到镭射纸效果,能够满足实际具体的仿真要求,而与现有技术相比本方法更简单实用,运算量相对小,有助于加快工作进度。
并且,现有技术中对镭射纸表面结构建立数学模型的方法,光栅的宽度与密度可调节的灵活度较低,并不能满足所有特征需求,而本方法中高光纹理贴图上光栅形状可以灵活设置,可克服这一缺陷。本方法能实现镭射纸色彩斑斓的反射效果,与实际镭射纸的反光效果更加符合,不仅集高光纹理贴图技术与薄膜干涉衍射技术的优点为一体,且弥补了二者的缺陷,仿真出的视觉效果更加真实。
请参考图6,本发明又一实施例提供一种虚拟现实场景中镭射纸效果的实现方法,包括以下步骤:
S20:利用产品的几何数据、主纹理贴图、反光纹理贴图和高光纹理贴图建立产品模型,所述主纹理贴图包含产品的材质纹理,所述反光纹理贴图包含镭射纸的色彩信息,所述高光纹理贴图为具有光栅形状的灰度图。
本步骤的具体实施方式可参考上一实施例中步骤S10的相关描述,在此不再赘述。
S21:求取产品模型顶点的针对主纹理贴图的纹理坐标,并根据用户的头部位置信息,求取用户的视角向量,根据所述视角向量计算产品模型顶点的针对高光纹理贴图的纹理坐标。
在实际应用中,当用户头部移动或者转动时,用户头部相对于显示画面中产品的视线方向改变,相应的产品上光栅结构相对于用户头部移动,产品呈现的镭射纸效果应相应发生变化。
本实施例方法中,实时获取用户的头部位置信息,求取用户的视角向量以及显示产品上光栅结构相对于用户头部的偏移量。在具体实施时,可在用户所带的头盔上设置位置传感器,用于检测用户的头部位置信息。再根据头部位置信息计算用户头部相对于显示画面的视线方向即视角向量。
产品模型顶点的几何数据包括顶点坐标(Vertex)、顶点法向(Normal)和顶点的原始纹理坐标(Texcoord)。本步骤中,首先根据产品模型的顶点坐标和顶点法向计算运行时顶点的纹理坐标,包括针对主纹理贴图的纹理坐标以及针对高光纹理贴图的纹理坐标。其中,计算针对主纹理贴图的纹理坐标(u,v)main的方法可参考上一实施例中步骤S110-步骤S112描述的具体过程,在此不再赘述。
本步骤中,根据用户的视角向量计算运行时顶点针对高光纹理贴图的纹理坐标(u,v)gray,具体可通过以下方法计算,包括步骤:
S210:将高光纹理贴图的移动方向转换到视角空间。
具体可根据以下公式计算:DirinView=Matrix(M→V)·MoveDir,其中,DirinView表示高光纹理贴图在视角空间中的移动方向,MoveDir表示高光纹理贴图在产品模型空间中的移动方向,Matrix(M→V)表示产品模型空间坐标系变换到视角空间坐标系的变换矩阵。
S211:计算高光纹理贴图在视角空间中的偏移量。
具体可根据以下公式计算:Value=Dot(View,DirinView),其中,View表示求取的用户的视角向量,在视角空间View为(0,0,1)。
S212:计算运行时顶点的针对高光纹理贴图的纹理坐标(u,v)gray。具体可根据以下公式计算:
S22:根据产品模型顶点的纹理坐标,分别从产品模型的主纹理贴图、反光纹理贴图以及高光纹理贴图中采集对应像素点的像素值。
本步骤中,在获得运行时顶点的主纹理坐标(即针对主纹理贴图的纹理坐标)和高光纹理坐标(即针对高光纹理贴图的纹理坐标)后,进一步,根据顶点的主纹理坐标从主纹理贴图中采集对应像素点的像素值,表示为m_pixel;根据主纹理坐标从反光纹理贴图中采集对应像素点的像素值,表示为r_pixel;根据高光纹理坐标从高光纹理贴图中采集对应像素点的像素值pixel3。
具体根据以下公式可以计算在高光纹理贴图中对应像素点的灰度值:
gray=pixel3 r 0.299+pixel3 g 0.587+pixel3 b 0.114;
其中,gray表示灰度值,Pixel3表示在高光纹理贴图中采集的对应像素点的像素值。
S23:利用获得的像素值,根据预设的光照模型求取顶点的颜色值。
本步骤中,利用获得的像素值求取顶点的颜色值包括:
S230:根据预设的光照模型计算顶点的材质漫反射颜色值,表示为:
mdiffuse=m_pixel+gray*r_pixel;
其中,mdiffuse表示材质漫反射颜色值,m_pixel表示从主纹理贴图中采集的对应像素点的像素值,r_pixel表示从反光纹理贴图中采集的对应像素点的像素值,gray表示在高光纹理贴图中对应像素点的灰度值。
S231:根据兰伯特定律,计算漫反射颜色值,表示为:
diffuse=(clight*mdiffuse)max(0,n*l);
其中,clight表示入射光颜色和强度,n表示表面法向,l表示光源方向。
S232:结合所述光照模型中的环境光ambient以及高光反射光specular,计算顶点的颜色值,表示为:
col=diffuse+ambient+specular。
其中specular表示根据光照模型求得的高光反射光即镜面反射光。
S24:根据属于同一片元的各顶点的颜色值求取对应片元上各像素点的颜色值,将着色后的片元输出显示。
通过上步骤得到产品模型上顶点的颜色值后,根据属于同一片元的各顶点的颜色求取对应片元上各像素点的颜色值,在具体实施时,可通过以下方法实现,具体包括:利用形成三角网络的三个顶点的颜色值,通过插值运算,获得三角网络所覆盖片元上各像素点的颜色值。
进一步,进行光栅化处理,计算片元上像素点在显示屏幕上的对应位置,将着色后的片元输出显示。
本实施例虚拟现实场景中镭射纸效果的实现方法,通过获取用户的头部位置信息相应计算用户的视角向量,对具有光栅形状的高光纹理贴图进行偏移,来仿真得到镭射纸效果。当视角发生变化,光栅会沿着相应方向移动,同时光栅的颜色也会随之变化。光照强度不变时,若产品面向灯光方向,光栅的亮度随着视线方向与光线的反射方向的夹角增大而不断减弱;当产品处于背光面时,光栅的亮度则非常的弱,与实际情况基本符合。本实施例虚拟现实场景中镭射纸效果的实现方法实现了与周围虚拟环境发生实时交互。
相应的,请参考图7,本发明实施例还提供一种虚拟现实场景中镭射纸效果的实现系统,包括:
建立模块30,用于利用产品的几何数据、主纹理贴图、反光纹理贴图和高光纹理贴图建立产品模型,所述主纹理贴图包含产品的材质纹理,所述反光纹理贴图包含镭射纸的色彩信息,所述高光纹理贴图为具有光栅形状的灰度图;
顶点着色模块31,用于根据所述产品模型顶点的纹理坐标,分别从所述产品模型的主纹理贴图、反光纹理贴图以及高光纹理贴图中采集对应像素点的像素值,并利用获得的像素值,根据预设的光照模型求取顶点的颜色值;
片元着色模块32,用于根据属于同一片元的各顶点的颜色值求取对应片元上各像素点的颜色值,将着色后的片元输出显示。
可以看出,本实施例虚拟现实场景中镭射纸效果的实现系统,首先利用产品的几何数据、主纹理贴图、反光纹理贴图和高光纹理贴图建立产品模型,然后根据产品模型顶点的纹理坐标,分别从产品模型的主纹理贴图、反光纹理贴图以及高光纹理贴图中采集对应像素点的像素值,并利用获得的像素值,根据预设的光照模型求取顶点的颜色值,进一步根据属于同一片元的各顶点的颜色值求取对应片元上各像素点的颜色值,将着色后的片元输出显示。
本实施例虚拟现实场景中镭射纸效果的实现系统,利用包含产品的材质纹理的主纹理贴图、包含镭射纸色彩信息的反光纹理贴图和具有光栅形状的高光纹理贴图来仿真得到镭射纸效果,能够满足实际具体的仿真要求,而与现有技术相比本方法更简单实用,运算量相对小,有助于加快工作进度。
本实施例虚拟现实场景中镭射纸效果的实现系统中,各模块的具体数据处理过程均可参考以上实施例中关于虚拟现实场景中镭射纸效果的实现方法的描述。
在具体实施时,本系统包括用于运行应用程序的主机,还包括HTC头盔和桌面显示器,主机进行数据处理后将渲染好的画面同时映射到HTC头盔以及桌面显示器上。
进一步优选的,本实施例虚拟现实场景中镭射纸效果的实现系统还包括:
设置在头盔上的用于检测用户的头部位置信息的位置传感器。
纹理坐标计算模块,用于求取产品模型顶点的针对主纹理贴图的纹理坐标,并根据用户的头部位置信息,求取用户的视角向量,根据所述视角向量计算产品模型顶点的针对高光纹理贴图的纹理坐标。
应用程序能够实时获取HTC头盔上位置传感器的信息从而获取用户的视线方向,然后根据用户的视线方向计算高光纹理贴图的偏移,进而利用偏移后的纹理坐标从产品模型的高光纹理贴图中采集对应像素点的灰度值,进行仿真得到渲染画面。
因此本实施例虚拟现实场景中镭射纸效果的实现系统,通过获取用户的头部位置信息相应计算得到用户的视角向量,对具有光栅形状的高光纹理贴图进行偏移,来仿真得到镭射纸效果。当视角发生变化,光栅会沿着相应方向移动,同时光栅的颜色也会随之变化。光照强度不变时,若产品面向灯光方向,光栅的亮度随着视线方向与光线的反射方向的夹角增大而不断减弱;当产品处于背光面时,光栅的亮度则非常的弱,与实际情况基本符合。本实施例虚拟现实场景中镭射纸效果的实现方法实现了与周围虚拟环境发生实时交互。
以上对本发明所提供的虚拟现实场景中镭射纸效果的实现方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种虚拟现实场景中镭射纸效果的实现方法,其特征在于,包括:
利用产品的几何数据、主纹理贴图、反光纹理贴图和高光纹理贴图建立产品模型,所述主纹理贴图包含产品的材质纹理,所述反光纹理贴图包含镭射纸的色彩信息,所述高光纹理贴图为具有光栅形状的灰度图;
根据所述产品模型顶点的纹理坐标,分别从所述产品模型的主纹理贴图、反光纹理贴图以及高光纹理贴图中采集对应像素点的像素值,并利用获得的像素值,根据预设的光照模型求取顶点的颜色值;
根据属于同一片元的各顶点的颜色值求取对应片元上各像素点的颜色值,将着色后的片元输出显示;
所述利用获得的像素值,根据预设的光照模型求取顶点的颜色值包括:
根据预设的光照模型计算顶点的材质漫反射颜色值,表示为:
mdiffuse=m_pixel+gray*r_pixel;
其中,mdiffuse表示材质漫反射颜色值,m_pixel表示从主纹理贴图中采集的对应像素点的像素值,r_pixel表示从反光纹理贴图中采集的对应像素点的像素值,gray表示在高光纹理贴图中对应像素点的灰度值;
根据兰伯特定律,计算漫反射颜色值,表示为:
diffuse=(clight*mdiffuse)max(0,n*l);
其中,clight表示入射光颜色和强度,n表示表面法向,l表示光源方向;
结合所述光照模型中的环境光ambient以及高光反射光specular,计算顶点的颜色值,表示为:col=diffuse+ambient+specular。
2.根据权利要求1所述的虚拟现实场景中镭射纸效果的实现方法,其特征在于,
创建所述反光纹理贴图的方法包括:在空白贴图上填充彩虹色,对填充颜色后的贴图进行衍射变换,然后对贴图进行低通滤波处理;
创建所述高光纹理贴图的方法包括:在空白贴图上形成灰度显示的光栅形状,然后对贴图进行低通滤波处理。
3.根据权利要求1所述的虚拟现实场景中镭射纸效果的实现方法,其特征在于,计算所述产品模型顶点的纹理坐标包括:
将顶点坐标从产品模型空间转换到齐次裁剪空间,将不在齐次裁剪空间内的顶点裁剪掉;
将顶点坐标从产品模型空间转换到世界空间;
根据以下公式计算运行时顶点的针对主纹理贴图的纹理坐标(u,v)main:
(u,v)main=texcoord.xy·MainTex_ST.xy+MainTex_ST.zw;
其中,texcoord表示顶点的原始纹理坐标,MainTex_ST表示四维向量,x和y表示纹理的缩放系数,z和w表示纹理的平移系数。
4.根据权利要求1所述的虚拟现实场景中镭射纸效果的实现方法,其特征在于,所述根据所述产品模型顶点的纹理坐标,分别从所述产品模型的主纹理贴图、反光纹理贴图以及高光纹理贴图中采集对应像素点的像素值之前,还包括:
根据获取的用户的头部位置信息,求取用户的视角向量,并根据所述视角向量计算运行时针对高光纹理贴图的纹理坐标。
6.根据权利要求1-5任一项所述的虚拟现实场景中镭射纸效果的实现方法,其特征在于,所述根据属于同一片元的各顶点的颜色值求取对应片元上各像素点的颜色值包括:利用形成三角网络的三个顶点的颜色值,通过插值运算,获得三角网络所覆盖片元上各像素点的颜色值。
7.一种虚拟现实场景中镭射纸效果的实现系统,其特征在于,包括:
建立模块,用于利用产品的几何数据、主纹理贴图、反光纹理贴图和高光纹理贴图建立产品模型,所述主纹理贴图包含产品的材质纹理,所述反光纹理贴图包含镭射纸的色彩信息,所述高光纹理贴图为具有光栅形状的灰度图;
顶点着色模块,用于根据所述产品模型顶点的纹理坐标,分别从所述产品模型的主纹理贴图、反光纹理贴图以及高光纹理贴图中采集对应像素点的像素值,并利用获得的像素值,根据预设的光照模型求取顶点的颜色值;
片元着色模块,用于根据属于同一片元的各顶点的颜色值求取对应片元上各像素点的颜色值,将着色后的片元输出显示;
所述利用获得的像素值,根据预设的光照模型求取顶点的颜色值包括:
根据预设的光照模型计算顶点的材质漫反射颜色值,表示为:
mdiffuse=m_pixel+gray*r_pixel;
其中,mdiffuse表示材质漫反射颜色值,m_pixel表示从主纹理贴图中采集的对应像素点的像素值,r_pixel表示从反光纹理贴图中采集的对应像素点的像素值,gray表示在高光纹理贴图中对应像素点的灰度值;
根据兰伯特定律,计算漫反射颜色值,表示为:
diffuse=(clight*mdiffuse)max(0,n*l);
其中,clight表示入射光颜色和强度,n表示表面法向,l表示光源方向;
结合所述光照模型中的环境光ambient以及高光反射光specular,计算顶点的颜色值,表示为:col=diffuse+ambient+specular。
8.根据权利要求7所述的虚拟现实场景中镭射纸效果的实现系统,其特征在于,还包括:设置在头盔上的用于检测用户的头部位置信息的位置传感器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711486901.6A CN108109194B (zh) | 2017-12-29 | 2017-12-29 | 虚拟现实场景中镭射纸效果的实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711486901.6A CN108109194B (zh) | 2017-12-29 | 2017-12-29 | 虚拟现实场景中镭射纸效果的实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108109194A CN108109194A (zh) | 2018-06-01 |
CN108109194B true CN108109194B (zh) | 2021-03-16 |
Family
ID=62215129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711486901.6A Active CN108109194B (zh) | 2017-12-29 | 2017-12-29 | 虚拟现实场景中镭射纸效果的实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108109194B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109118572A (zh) * | 2018-08-07 | 2019-01-01 | 芯视图(常州)微电子有限公司 | Simt 顶点和像素染色基本程序生产方法 |
CN110992457B (zh) * | 2018-09-30 | 2023-11-03 | 北京京东尚科信息技术有限公司 | 图像处理方法、装置及设备 |
CN111951156B (zh) * | 2020-08-24 | 2021-08-03 | 杭州小影创新科技股份有限公司 | 一种绘制图形光电特效的方法 |
CN112149348A (zh) * | 2020-09-18 | 2020-12-29 | 北京每日优鲜电子商务有限公司 | 一种基于无人货柜场景的仿真空间模型训练数据生成方法 |
CN113096230B (zh) * | 2021-04-20 | 2022-06-10 | 浙江凌迪数字科技有限公司 | 一种真实感服装渲染中的镭射面料实时渲染方法 |
CN116228943B (zh) * | 2023-05-10 | 2023-07-14 | 深圳市腾讯计算机系统有限公司 | 虚拟对象面部重建方法、面部重建网络训练方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7071937B1 (en) * | 2000-05-30 | 2006-07-04 | Ccvg, Inc. | Dirt map method and apparatus for graphic display system |
CN101182696A (zh) * | 2007-11-30 | 2008-05-21 | 大亚科技股份有限公司 | 一种具有光栅线条立体重叠效果的防伪包装纸 |
CN102306391A (zh) * | 2011-09-20 | 2012-01-04 | 深圳Tcl新技术有限公司 | 基于OpenGL的倒影显示处理装置及方法 |
CN104392481A (zh) * | 2014-11-25 | 2015-03-04 | 无锡梵天信息技术股份有限公司 | 一种利用贴图控制高光反射清晰度的方法及装置 |
CN107103638A (zh) * | 2017-05-27 | 2017-08-29 | 杭州万维镜像科技有限公司 | 一种虚拟场景与模型的快速渲染方法 |
CN107204033A (zh) * | 2016-03-16 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 图片的生成方法和装置 |
-
2017
- 2017-12-29 CN CN201711486901.6A patent/CN108109194B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7071937B1 (en) * | 2000-05-30 | 2006-07-04 | Ccvg, Inc. | Dirt map method and apparatus for graphic display system |
CN101182696A (zh) * | 2007-11-30 | 2008-05-21 | 大亚科技股份有限公司 | 一种具有光栅线条立体重叠效果的防伪包装纸 |
CN102306391A (zh) * | 2011-09-20 | 2012-01-04 | 深圳Tcl新技术有限公司 | 基于OpenGL的倒影显示处理装置及方法 |
CN104392481A (zh) * | 2014-11-25 | 2015-03-04 | 无锡梵天信息技术股份有限公司 | 一种利用贴图控制高光反射清晰度的方法及装置 |
CN107204033A (zh) * | 2016-03-16 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 图片的生成方法和装置 |
CN107103638A (zh) * | 2017-05-27 | 2017-08-29 | 杭州万维镜像科技有限公司 | 一种虚拟场景与模型的快速渲染方法 |
Non-Patent Citations (3)
Title |
---|
Rapid Acquisition of Specular and Diffuse Normal Maps from Polarized Spherical Gradient Illumination;Wan-Chun Ma 等;《18th Eurographics Symposium on Rendering》;20070630;第183-194页 * |
三维激光点云着色及表面模型纹理映射研究;刘淑民;《中国学位论文全文数据库》;20120426;第1-76页 * |
幻彩镭射纸的研究与应用;马宏刚;《中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑》;20151215(第12期);第B024-441页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108109194A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108109194B (zh) | 虚拟现实场景中镭射纸效果的实现方法及系统 | |
CN106127859B (zh) | 一种移动增强现实型涂鸦绘本的真实感生成方法 | |
Hertzmann | Fast paint texture | |
JP4276178B2 (ja) | 皮膚又は類似物をデジタル式にレンダリングする方法 | |
TWI328200B (en) | Systems and methods for providing controllable texture sampling,and computer readable medium for recording related instructions thereon | |
CN111508052B (zh) | 三维网格体的渲染方法和装置 | |
KR101145260B1 (ko) | 3d 객체 모델에 텍스쳐를 매핑하는 방법 및 장치 | |
US20070139408A1 (en) | Reflective image objects | |
US6922193B2 (en) | Method for efficiently calculating texture coordinate gradient vectors | |
CN112316420A (zh) | 模型渲染方法、装置、设备及存储介质 | |
JP3626144B2 (ja) | 立体オブジェクトデータからの漫画的表現の2次元画像の生成方法および生成プログラム | |
Ganovelli et al. | Introduction to computer graphics: A practical learning approach | |
WO2017123163A1 (en) | Improvements in or relating to the generation of three dimensional geometries of an object | |
WO2008014384A2 (en) | Real-time scenery and animation | |
CN104517313B (zh) | 基于屏幕空间的环境光遮蔽的方法 | |
US6753875B2 (en) | System and method for rendering a texture map utilizing an illumination modulation value | |
Haller et al. | A loose and sketchy approach in a mediated reality environment | |
KR101118597B1 (ko) | 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템 | |
Nienhaus et al. | Sketchy drawings | |
Murakami et al. | Multiple illuminated paper textures for drawing strokes | |
CN110223589A (zh) | 一种基于3d绘画协议的汽车模型展示方法 | |
Liu et al. | Artistic image generation by deviation mapping | |
Burgess et al. | A system for real-time watercolour rendering | |
Ragragui et al. | Revolution mapping with bump mapping support | |
Curtis et al. | Real-time non-photorealistic animation for immersive storytelling in “Age of Sail” |
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 |