一种三维画面渲染方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种三维画面渲染方法及装置。
背景技术
目前,用户对画面的要求越来越高,而3维(3Dimensions,3D)体验可以极大提升用户使用体验,可以通过渲染3D模型,为用户呈现3D效果的画面。
现有技术,对三维画面渲染方法,主要是利用视觉追踪技术,是对用户眼睛的注视点区域进行高清渲染,而周边区域逐步降低渲染分辨率,主要目的是为了加大渲染视觉注视点区域中的3D模型精度,减少非视觉追踪焦点处的3D模型精度,但是这种方法,需要对注视点区域中所有3D模型进行加大渲染,复杂度比较高,计算量也较大。
发明内容
本发明实施例提供一种三维画面渲染方法及装置,以解决现有技术中渲染比较复杂,计算量比较大的问题。
本发明实施例提供的具体技术方案如下:
本发明实施例中提供了一种三维画面渲染方法,包括:
采用视觉追踪技术,确定用户的双眼投影在显示屏上的视觉关注区域;
获取所述视觉关注区域内对应的游戏画面中的各3D模型;
分别计算所述各3D模型的各像素点到所述用户的双眼的法向量,并根据各法向量,分别确定所述各3D模型被自身和/或其它3D模型遮挡的遮挡部分;
分别对所述各3D模型去除其遮挡部分的其余部分进行渲染。
可选的,采用视觉追踪技术,确定用户的双眼投影在显示屏上的视觉关注区域,具体包括:
采用视觉追踪技术,确定所述用户的双眼分别投影在显示屏上的位置;
分别确定以双眼投影在显示屏上的位置为圆心,以预设半径为半径的两个圆的重叠区域,将所述重叠区域作为所述视觉关注区域。
可选的,进一步包括:
分别确定各3D模型中各像素点与预设三维坐标系的Z轴Z=0所在平面的距离,并分别确定各3D模型中各像素点与Z=0所在平面的距离中的最小距离;
根据各3D模型与Z=0所在平面的最小距离进行排序,获得各3D模型距离Z=0所在平面的前后顺序。
其中,所述预设三维坐标系是以显示屏中预设位置作为坐标原点,X轴和Y轴分别组成显示屏的二维平面,Z轴垂直与X轴和Y轴组成的二维平面,并其矢量方向为从用户指向显示屏的垂直方向。
可选的,并根据各法向量,分别确定所述各3D模型被自身和/或其它3D模型遮挡的部分,具体包括:
根据各法向量的方向和大小,分别确定方向重叠的法向量中法向量大小的最小取值;
筛选出各方向重叠的法向量中大小比相应的最小取值大的所有法向量,将筛选出的法向量对应的像素点,确定为被自身和/或其它3D模型遮挡的部分。
可选的,分别对所述各3D模型去除其遮挡部分的其余部分进行渲染之后,进一步包括:按照预设方式,修改渲染后的各3D模型的画面参数;其中,所述画面参数包括但不限于以下几种或组合:饱和度、对比度。
可选的,分别对所述各3D模型去除其遮挡部分的其余部分进行渲染之后,进一步包括:按照各3D模型距离Z=0所在平面的前后顺序,以及预设调整步长,从前到后依次增加各3D模型的模糊度。
可选的,分别对所述各3D模型去除其遮挡部分的其余部分进行渲染之后,进一步包括:对视觉关注区域之外对应的游戏画面中的各3D模型进行渲染。
本发明另一个实施例提供了一种三维画面渲染装置,包括:
视觉追踪模块,用于采用视觉追踪技术,确定用户的双眼投影在显示屏上的视觉关注区域;
获取模块,用于获取所述视觉关注区域内对应的游戏画面中的各3D模型;
计算模块,用于分别计算所述各3D模型的各像素点到所述用户的双眼的法向量,并根据各法向量,分别确定所述各3D模型被自身和/或其它3D模型遮挡的遮挡部分;
渲染模块,用于分别对所述各3D模型去除其遮挡部分的其余部分进行渲染。
可选的,采用视觉追踪技术,确定用户的双眼投影在显示屏上的视觉关注区域时,视觉追踪模块具体用于:
采用视觉追踪技术,确定所述用户的双眼分别投影在显示屏上的位置;
分别确定以双眼投影在显示屏上的位置为圆心,以预设半径为半径的两个圆的重叠区域,将所述重叠区域作为所述视觉关注区域。
可选的,计算模块进一步用于:
分别确定各3D模型中各像素点与预设三维坐标系的Z轴Z=0所在平面的距离,并分别确定各3D模型中各像素点与Z=0所在平面的距离中的最小距离;
根据各3D模型与Z=0所在平面的最小距离进行排序,获得各3D模型距离Z=0所在平面的前后顺序。
其中,所述预设三维坐标系是以显示屏中预设位置作为坐标原点,X轴和Y轴分别组成显示屏的二维平面,Z轴垂直与X轴和Y轴组成的二维平面,并其矢量方向为从用户指向显示屏的垂直方向。
可选的,并根据各法向量,分别确定所述各3D模型被自身和/或其它3D模型遮挡的部分时,计算模块具体用于:
根据各法向量的方向和大小,分别确定方向重叠的法向量中法向量大小的最小取值;
筛选出各方向重叠的法向量中大小比相应的最小取值大的所有法向量,将筛选出的法向量对应的像素点,确定为被自身和/或其它3D模型遮挡的部分。
可选的,分别对所述各3D模型去除其遮挡部分的其余部分进行渲染之后,渲染模块进一步用于:按照预设方式,修改渲染后的各3D模型的画面参数;其中,所述画面参数包括但不限于以下几种或组合:饱和度、对比度。
可选的,分别对所述各3D模型去除其遮挡部分的其余部分进行渲染之后,渲染模块进一步用于:按照各3D模型距离Z=0所在平面的前后顺序,以及预设调整步长,从前到后依次增加各3D模型的模糊度。
可选的,分别对所述各3D模型去除其遮挡部分的其余部分进行渲染之后,渲染模块进一步用于:
对视觉关注区域之外对应的游戏画面中的各3D模型进行渲染。
一种电子设备,包括:
至少一个存储器,用于存储计算机程序;
至少一个处理器,用于执行存储器中存储的计算机程序时实现上述任一种三维画面渲染方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种三维画面渲染方法的步骤。
本发明实施例中,采用视觉追踪技术,确定用户的双眼投影在显示屏上的视觉关注区域;获取所述视觉关注区域内对应的游戏画面中的各3D模型;分别计算所述各3D模型的各像素点到所述用户的双眼的法向量,并根据各法向量,分别确定所述各3D模型被自身和/或其它3D模型遮挡的遮挡部分;分别对所述各3D模型去除其遮挡部分的其余部分进行渲染,这样,通过视觉追踪技术,确定用户的视觉关注区域,并确定视觉关注区域内各3D模型之间的遮挡部分,对不可见部分不进行渲染,精简视觉关注区域内不可见部分的复杂度,有效去除被遮挡部分的数据,不仅可以实现对视觉关注区域内各3D模型的加大渲染,提高用户的3D视觉效果,同时考虑被遮挡部分,从而可以减少计算量和复杂度,提高渲染效率。
附图说明
图1为本发明实施例中三维画面渲染系统结构示意图;
图2为本发明实施例中一种三维画面渲染方法的流程图;
图3为本发明实施例中在显示屏上的视觉关注区域示意图;
图4为本发明实施例中进行默认渲染效果示意图;
图5为本发明实施例中确定出的各3D模型被自身和/或其它3D模型遮挡的遮挡部分示意图;
图6为本发明实施例中视觉关注区域内各3D模型序号标记示意图;
图7为本发明实施例中设置的三维坐标系示意图;
图8为本发明实施例中另一种三维渲染方法的流程图;
图9为本发明实施例中三维渲染装置结构示意图;
图10为本发明实施例中电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,针对三维画面的渲染,可以根据视觉追踪技术,对用户的双眼进行追踪和检测,从而对用户眼睛的注视点区域进行高清渲染,而周边区域逐步降低渲染分辨率,实现三维场景的渲染。但是需要对注视点区域中所有3维(3Dimensions,3D)模型进行加大渲染,复杂度比较高,计算量也较大。
而实际中对于用户视觉关注区域中的3D模型,并不是所有3D模型,用户都能看到,可能会有一些重叠或遮挡的部分,用户只能看到位于最前面的未遮挡的部分,因此,本发明实施例中主要基于此思想,确定视觉关注区域中所有3D模型之间的遮挡关系,从而减少由于各3D模型遮挡关系造成的不可见区域的渲染精度,减少了复杂度和计算量。
并且,对于视觉关注区域中3D模型未被遮挡的部分进行渲染时,还调整各3D模型的对比度、饱和度、模糊度等参数,更加提升了用户的视觉效果,从而可以不需要提高所有3D模型的渲染精度,就可以给用户带来类似精细程度的视觉优化效果。
参阅图1所示,本发明实施例中,三维画面渲染系统结构示意图,至少包括:显示内容组件、视觉追踪组件、存储组件、运算组件、图像处理器(Graphics Processing Unit,GPU)、通信组件,具体地:
(1)显示内容组件。
显示内容组件主要用于显示画面内容,包括但不限于液晶显示器(LiquidCrystal Display,LCD)屏幕、有源矩阵有机发光二极体(Active-matrix organic lightemitting diode,AMOLED)屏幕、环绕式3D虚拟现实(Virtual Reality,VR)眼镜、投影仪或者其他技术制作的屏幕或显示屏。
也就是说,显示内容组件主要是可以向用户呈现渲染后的三维画面,例如三维游戏画面等。
(2)视觉追踪组件。
视觉追踪组件主要用于对用户的双眼进行追踪,捕捉双眼的眼球运动,并测算确定出用户的双眼视觉焦点投影在显示屏上的视觉关注区域。
其中,视觉追踪组件可以通过摄像头、红外探测仪对用户的双目进行追踪,本发明实施例中并不进行限制。
(3)存储组件。
存储组件主要用于进行数据存储。例如,待渲染的3D模型像素数据等。
(4)运算组件。
运算组件用于本发明实施例中三维画面渲染方法的全局计算,例如包含中央处理器(Central Processing Unit,CPU)等,进行数据的各种运算。
(5)图像处理器。
图像处理器用于对三维画面进行渲染和美化处理等,例如渲染3D模型、调整3D模型的色彩饱和度、对比度等。
(6)通信组件。
通信组件主要用于和外部进行通信,例如,可以通过通信组件连接互联网、调用服务器端的数据资料等。
值得说明的是,本发明实施例中的系统结构图是为了更加清楚地说明本发明实施例中的技术方案,并不构成对本发明实施例提供的技术方案的限制,对于其它的系统结构和业务应用,本发明实施例提供的技术方案对于类似的问题,同样适用。
并且,本发明实施例中,三维画面可以为三维游戏画面或其它三维场景,但并不仅限于对三维游戏画面的渲染,对于类似场景和问题都可以适用,本发明实施例中仅以三维游戏画面为例进行示意性说明。
本发明实施例中,三维画面渲染方法可以应用于各种终端设备,例如手机游戏客户端、智能平板或电脑游戏客户端、带摄像头的电脑、VR游戏设备等,并不进行限制。
参阅图2所示,本发明实施例中,三维画面渲染方法的具体流程如下:
步骤200:采用视觉追踪技术,确定用户的双眼投影在显示屏上的视觉关注区域。
实际中,用户在观看显示屏上,人的双眼会对显示屏某个区域的画面焦点关注,其余区域画面可能不会关注到,这个焦点关注的区域即为用户的视觉关注区域,视觉关注区域内的画面呈现对用户的视觉效果是非常重要的。
执行步骤200时,具体包括:
首先,采用视觉追踪技术,确定用户的双眼分别投影在显示屏上的位置。
然后,分别确定以双眼投影在显示屏上的位置为圆心,以预设半径为半径的两个圆的重叠区域,将重叠区域作为视觉关注区域。
其中,预设半径的取值可以根据经验和实际情况预先进行设置,也可以根据双眼与显示屏距离、双眼位置等因素,来确定半径取值,本发明实施例中并不进行限制。
并且,通常可以认为人的左眼和右眼的视觉区域的半径是相同的,因此本发明实施例中设置双眼对应的视觉区域的圆的半径相同,均为R。
具体参阅图3所示,为本发明实施例中在显示屏上的视觉关注区域示意图,确定的视觉关注区域在显示屏上的坐标范围域,可以表示为visual_range(x1,y1,x2,y2,R),其中,(x1,y1)表示左眼视觉焦点投影在显示屏上的坐标,(x2,y2)表示右眼视觉焦点投影在显示屏上的坐标,R为半径,则visual_range(x1,y1,x2,y2,R)表示以眼球落点的坐标为圆心,R为半径的两个圆的重叠区域,该区域就是用户的视觉关注区域。
也就是说,本发明实施例中,可以通过不断调用视觉追踪组件来探测获得用户的双眼投影在显示屏上的视觉关注区域,即坐标范围域。
步骤210:获取视觉关注区域内对应的游戏画面中的各3D模型。
具体地,获取视觉关注区域内,从Z=0到Z=max(Z)的3D区域内所有的3D模型。
其中,Z表示预设三维坐标系的Z轴,预设三维坐标系具体地将在下文进行介绍。max(Z)为预设的3D区域内Z的最大边界值,例如,针对某游戏,Z边界值越大,通常3D效果越好,但是考虑终端的3D呈现性能,通常会设置该游戏系统呈现3D画面的Z的最大值。
其中,各3D模型分别表示三维画面中的每个元素,例如某个人物、某个自然物等,一个元素对应一个3D模型。
步骤220:分别计算各3D模型的各像素点到用户的双眼的法向量,并根据各法向量,分别确定各3D模型被自身和/或其它3D模型遮挡的遮挡部分。
执行步骤220时,具体包括:
首先,分别计算各3D模型的各像素点到用户的双眼的法向量。
具体地,以用户的双眼的眼球为出发点,扫描计算每个3D模型的各像素点到双眼的法向量。
然后,根据各法向量的方向和大小,分别确定方向重叠的法向量中法向量大小的最小取值。
其中,这里的方向重叠不是仅指方向平行,而且需要方向是完全一致的,即法向量方向一致并有重叠部分。
然后,筛选出各方向重叠的法向量中大小比相应的最小取值大的所有法向量,将筛选出的法向量对应的像素点,确定为被自身和/或其它3D模型遮挡的部分。
本发明实施例中可以采用运算组件来执行步骤220,确定各3D模型被遮挡的部分。
例如,有5个像素点对应的法向量的方向重叠,其法向量的大小分别为2、3、4、5、6,则这5个方向重叠的法向量中大小的最小取值为2,则将大小取值为3、4、5、6的法向量对应的像素点,确定为被取值为2对应的像素点遮挡的部分。
具体地,参阅图4所示,为本发明实施例中进行默认渲染效果示意图,例如,在用户的双眼的视觉关注区域内的3D模型有4个,分别为模型1、模型2、模型3和模型4,其中,四个3D模型分别以4个几何图形表示,从图4可知,在渲染效果中,模型4被模型3遮挡,模型3被模型1和模型2部分遮挡,而对于用户来说,被遮挡的模型4,模型3的遮挡部分,在显示屏,即屏幕上并不会看到,或者说是不重要的,用户不会关注到。
因此,本发明实施例中,确定出对视觉关注区域中被遮挡的部分,不进行渲染,可以减少计算量和复杂度,参阅图5所示,为本发明实施例中确定出的各3D模型被自身和/或其它3D模型遮挡的遮挡部分示意图,如图5所示,四个3D模型中虚线表示的部分为被遮挡的部分。
进一步地,本发明实施例中,还可以基于运算组件对视觉区域范围内的各3D模型进行排序并标记序号,以便后续进行渲染处理,提供了一种可能的实施方式:分别确定各3D模型中各像素点与预设三维坐标系的Z轴Z=0所在平面的距离,并分别确定各3D模型中各像素点与Z=0所在平面的距离中的最小距离;根据各3D模型与Z=0所在平面的最小距离进行排序,获得各3D模型距离Z=0所在平面的前后顺序。
也就是说,本发明实施例中,可以将各3D模型中距离Z=0最近的像素点为其最靠近Z=0所在平面的边界点,以边界点的前后顺序,对各3D模型进行排序。
进一步地,为便于统计和描述,本发明实施例中还包括:按照各3D模型距离Z=0所在平面的前后顺序,以序号从小到大,记录和标记各3D模型的序号。
具体参阅图6所示,为本发明实施例中视觉关注区域内各3D模型序号标记示意图。如图6所示,以各几何图形表示各3D模型,3D模型的边界点距离Z=0所在平面越近的,其标记序越小,根据前后顺序依次标记这4个3D模型的序号分别为1、2、3、4。
因此,进一步地,在计算遮挡部分时,也可以将各3D模型的前后顺序作为辅助信息,因为通常在前的3D模型可能会遮挡在后的3D模型。
其中,本发明实施例中,预设三维坐标系是以显示屏中预设位置作为坐标原点,X轴和Y轴分别组成显示屏的二维平面,Z轴垂直与X轴和Y轴组成的二维平面,并其矢量方向为从用户指向显示屏的垂直方向。
具体参阅图7所示,为本发明实施例中设置的三维坐标系示意图。如图7所示,以用户所面对的显示内容组件,即显示屏或屏幕的平面为X轴、Y轴,以XY轴垂直于用户的方向,虚拟出Z轴,构建虚拟3D环境的三维坐标系,其中,可以默认预设显示屏的最右上角点为X=0,Y=0,Z=0的坐标原点,当然,也可以根据实际情况将其它位置设置为一个坐标原点,本发明实施例中并不进行限制。
步骤230:分别对各3D模型去除其遮挡部分的其余部分进行渲染。
其中,具体的渲染方式,本发明实施例中并不进行限制,实现对各3D模型去除其遮挡部分的其余部分进行渲染的效果即可。
具体地,运算组件被遮挡的部分对应的像素数据,从需要渲染的3D模型数据中去除,然后将取出遮挡部分的各3D模型的数据发送给图像处理器,以使图像处理器根据运算组件发送的3D模型的数据进行渲染。
这样,进行渲染时,对于人眼不可见的部分,将不进行渲染,可以精简视觉关注区域内不可见部分的复杂度,减少了各3D模型之间的遮挡关系造成的不可见区域的渲染精度和贴图质量等,减少了计算量,提高了渲染效率。
进一步地,为提升用户视觉效果,本发明实施例中在执行步骤230后,还可以对渲染的画面进行处理,具体地,提供了两种可能的方式:
第一种方式:按照预设方式,修改渲染后的各3D模型的画面参数;其中,画面参数包括但不限于以下几种或组合:饱和度、对比度。
具体地,可以通过图像处理器,调用相应的滤镜,改变画面参数,例如色彩饱和度、对比度等,以使各3D模型相对于视觉关注区域之外的区域的色彩饱和度、对比度更高,提高人眼对视觉关注区域内的3D模型的视觉关注度,提升视觉效果。
例如,默认设置渲染的对比度和饱和度的取值,对视觉关注区域内的3D模型进行渲染时,可以将对比度和饱和度的取值大于该默认设置的值,而但对视觉关注区域之外的部分进行渲染时,可以直接按照默认值进行渲染,从而可以实现视觉关注区域内的3D模型的画面更加明显、清晰等,提高对视觉关注区域内的3D模型的视觉关注度。
其中,画面参数可以包括饱和度、对比度,还可以包括分辨率、亮度等,本发明实施例中并不进行限制。
第二种方式:按照各3D模型距离Z=0所在平面的前后顺序,以及预设调整步长,从前到后依次增加各3D模型的模糊度。
具体地,通过图像处理器调用纵深模糊清晰滤镜,按照各3D模型的序号的从小到大顺序,依次微调增大3D模型的模糊度,这样,可以使得靠前的3D模型相对更清晰,靠后的3D模型相对略微模糊,从而形成视觉上自然地近处清晰远处模糊的真实感,提升视觉效果。
进一步地,对视觉关注区域内的3D模型进行渲染之后,还需要对视觉关注区域之外的部分进行渲染,具体为:对视觉关注区域之外对应的游戏画面中的各3D模型进行渲染。
具体地:通过图像处理器完成了对视觉关注区域,即visual_range(x1,y1,x2,y2,R)区域的优先特殊3D渲染效果后,再对视觉关注区域之外的区域,即visual_range(x1,y1,x2,y2,R)以外的区域进行常规渲染,即可以按照默认的渲染参数和效果,进行渲染,不需要再增大其色彩饱和度、对比度等。
指的说明的是,本发明实施例中,例如针对某游戏画面,是一帧一帧画面进行渲染,每一帧画面渲染时都是基于上述三维画面渲染方法进行,获取实时的视觉关注区域,当前帧画面渲染完成后,进行下一帧画面的渲染。
下面采用具体的应用场景对上述三维画面渲染方法的整体流程进行具体说明,基于上述实施例,具体参阅图8所示,为本发明实施例中另一种三维画面渲染方法流程图,具体包括:
步骤800:设置三维坐标系:以显示屏中预设位置作为坐标原点,X轴和Y轴分别组成显示屏的二维平面,Z轴垂直与X轴和Y轴组成的二维平面,并其矢量方向为从用户指向显示屏的垂直方向。
步骤801:采用视觉追踪技术,确定用户的双眼投影在显示屏上的视觉关注区域visual_range(x1,y1,x2,y2,R)。
步骤802:获取视觉关注区域内对应的游戏画面中的各3D模型。
即获取visual_range(x1,y1,x2,y2,R)内,从Z=0到Z=max(Z)内的所有3D模型。
步骤803:将各3D模型中距离Z=0最近的像素点为其最靠近Z=0所在平面的边界点,确定各3D模型的前后顺序,并以该前后顺序记录各3D模型的序号。
步骤804:确定各3D模型之间的遮挡关系。
步骤805:确定各3D模型哪些面被其自身遮挡,并分别确定各3D模型被自身和/或其它3D模型遮挡的遮挡部分。
具体地:分别计算各3D模型的各像素点到用户的双眼的法向量,并根据各法向量,分别确定各3D模型被自身和/或其它3D模型遮挡的遮挡部分。
步骤806:将被遮挡的部分对应的数据,从需要渲染的各3D模型数据中去除。
具体地,运算组件将被遮挡的部分从视觉关注区域中各3D模型数据中去除,并将各3D模型去除其被遮挡部分的其余部分的数据发送给图像处理器。
步骤807:分别对各3D模型去除其遮挡部分的其余部分进行渲染。
步骤808:调用滤镜,增加视觉关注区域内各3D模型的饱和度和对比度。
当然,还可以为其它画面参数,例如分辨率等。
步骤809:调用纵深模糊清晰滤镜,按照各3D模型距离Z=0所在平面的前后顺序,以及预设调整步长,从前到后依次增加各3D模型的模糊度。
这样,可以使得靠前的3D模型相对更清晰,靠后的3D模型相对更模糊,从而提升3D视觉效果。
步骤810:对视觉关注区域之外对应的游戏画面中的各3D模型进行渲染。
这时,只需要对视觉关注区域visual_range(x1,y1,x2,y2,R)之外的部分进行常规默认渲染即可。
步骤811:结束,进行下一帧画面的渲染,并返回执行步骤800,直至渲染所有帧画面。
基于上述实施例,参阅图9所示,本发明实施例中,三维画面渲染装置具体包括:
视觉追踪模块90,用于采用视觉追踪技术,确定用户的双眼投影在显示屏上的视觉关注区域;
获取模块91,用于获取所述视觉关注区域内对应的游戏画面中的各3D模型;
计算模块92,用于分别计算所述各3D模型的各像素点到所述用户的双眼的法向量,并根据各法向量,分别确定所述各3D模型被自身和/或其它3D模型遮挡的遮挡部分;
渲染模块93,用于分别对所述各3D模型去除其遮挡部分的其余部分进行渲染。
可选的,采用视觉追踪技术,确定用户的双眼投影在显示屏上的视觉关注区域时,视觉追踪模块90具体用于:
采用视觉追踪技术,确定所述用户的双眼分别投影在显示屏上的位置;
分别确定以双眼投影在显示屏上的位置为圆心,以预设半径为半径的两个圆的重叠区域,将所述重叠区域作为所述视觉关注区域。
可选的,计算模块92进一步用于:
分别确定各3D模型中各像素点与预设三维坐标系的Z轴Z=0所在平面的距离,并分别确定各3D模型中各像素点与Z=0所在平面的距离中的最小距离;
根据各3D模型与Z=0所在平面的最小距离进行排序,获得各3D模型距离Z=0所在平面的前后顺序。
其中,所述预设三维坐标系是以显示屏中预设位置作为坐标原点,X轴和Y轴分别组成显示屏的二维平面,Z轴垂直与X轴和Y轴组成的二维平面,并其矢量方向为从用户指向显示屏的垂直方向。
可选的,并根据各法向量,分别确定所述各3D模型被自身和/或其它3D模型遮挡的部分时,计算模块92具体用于:
根据各法向量的方向和大小,分别确定方向重叠的法向量中法向量大小的最小取值;
筛选出各方向重叠的法向量中大小比相应的最小取值大的所有法向量,将筛选出的法向量对应的像素点,确定为被自身和/或其它3D模型遮挡的部分。
可选的,分别对所述各3D模型去除其遮挡部分的其余部分进行渲染之后,渲染模块93进一步用于:按照预设方式,修改渲染后的各3D模型的画面参数;其中,所述画面参数包括但不限于以下几种或组合:饱和度、对比度。
可选的,分别对所述各3D模型去除其遮挡部分的其余部分进行渲染之后,渲染模块93进一步用于:按照各3D模型距离Z=0所在平面的前后顺序,以及预设调整步长,从前到后依次增加各3D模型的模糊度。
可选的,分别对所述各3D模型去除其遮挡部分的其余部分进行渲染之后,渲染模块93进一步用于:
对视觉关注区域之外对应的游戏画面中的各3D模型进行渲染。
需要说明的是,本发明实施例中,三维画面渲染装置中各模块,可以应用于上述三维画面渲染系统的各组件中,例如,视觉追踪模块90可以应用于视觉追踪组件,获取模块90和计算模块91可以应用于运算组件,渲染模块93可以应用于图像处理器。
参阅图10所示,本发明实施例中,一种电子设备结构示意图。
本发明实施例提供了一种电子设备,该电子设备可以包括处理器1010(CenterProcessing Unit,CPU)、存储器1020、输入设备1030和输出设备1040等,输入设备1030可以包括键盘、鼠标、触摸屏等,输出设备1040可以包括显示设备,如液晶显示器(LiquidCrystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器1020可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器1010提供存储器1020中存储的程序指令和数据。在本发明实施例中,存储器1020可以用于存储上述三维画面渲染方法的程序。
处理器1010通过调用存储器1020存储的程序指令,处理器1010用于按照获得的程序指令执行:
采用视觉追踪技术,确定用户的双眼投影在显示屏上的视觉关注区域;
获取所述视觉关注区域内对应的游戏画面中的各3D模型;
分别计算所述各3D模型的各像素点到所述用户的双眼的法向量,并根据各法向量,分别确定所述各3D模型被自身和/或其它3D模型遮挡的遮挡部分;
分别对所述各3D模型去除其遮挡部分的其余部分进行渲染。
可选的,采用视觉追踪技术,确定用户的双眼投影在显示屏上的视觉关注区域时,处理器1010具体用于:
采用视觉追踪技术,确定所述用户的双眼分别投影在显示屏上的位置;
分别确定以双眼投影在显示屏上的位置为圆心,以预设半径为半径的两个圆的重叠区域,将所述重叠区域作为所述视觉关注区域。
可选的,处理器1010进一步用于:
分别确定各3D模型中各像素点与预设三维坐标系的Z轴Z=0所在平面的距离,并分别确定各3D模型中各像素点与Z=0所在平面的距离中的最小距离;
根据各3D模型与Z=0所在平面的最小距离进行排序,获得各3D模型距离Z=0所在平面的前后顺序。
其中,所述预设三维坐标系是以显示屏中预设位置作为坐标原点,X轴和Y轴分别组成显示屏的二维平面,Z轴垂直与X轴和Y轴组成的二维平面,并其矢量方向为从用户指向显示屏的垂直方向。
可选的,并根据各法向量,分别确定所述各3D模型被自身和/或其它3D模型遮挡的部分时,处理器1010具体用于:
根据各法向量的方向和大小,分别确定方向重叠的法向量中法向量大小的最小取值;筛选出各方向重叠的法向量中大小比相应的最小取值大的所有法向量,将筛选出的法向量对应的像素点,确定为被自身和/或其它3D模型遮挡的部分。
可选的,分别对所述各3D模型去除其遮挡部分的其余部分进行渲染之后,处理器1010进一步用于:按照预设方式,修改渲染后的各3D模型的画面参数;其中,所述画面参数包括但不限于以下几种或组合:饱和度、对比度。
可选的,分别对所述各3D模型去除其遮挡部分的其余部分进行渲染之后,处理器1010进一步用于:按照各3D模型距离Z=0所在平面的前后顺序,以及预设调整步长,从前到后依次增加各3D模型的模糊度。
可选的,分别对所述各3D模型去除其遮挡部分的其余部分进行渲染之后,处理器1010进一步用于:对视觉关注区域之外对应的游戏画面中的各3D模型进行渲染。
基于上述实施例,本发明实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的三维画面渲染方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。