CN107277483A - 一种虚拟现实显示方法、装置及虚拟现实眼镜 - Google Patents
一种虚拟现实显示方法、装置及虚拟现实眼镜 Download PDFInfo
- Publication number
- CN107277483A CN107277483A CN201710329987.5A CN201710329987A CN107277483A CN 107277483 A CN107277483 A CN 107277483A CN 201710329987 A CN201710329987 A CN 201710329987A CN 107277483 A CN107277483 A CN 107277483A
- Authority
- CN
- China
- Prior art keywords
- layer
- frame buffer
- side frame
- dimentional
- synthesized
- 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.)
- Granted
Links
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明属于图像处理领域,尤其涉及一种虚拟现实显示方法、装置及虚拟现实眼镜。所述方法包括:获取待合成的图层集合;判断所述图层集合中是否存在二维图层;若所述图层集合中存在二维图层,则将所述二维图层分别合成到预设的左侧帧缓存和预设的右侧帧缓存中;将与所述左侧帧缓存对应的图像显示在左侧显示屏上,将与所述右侧帧缓存对应的图像显示在右侧显示屏上。通过本发明,对于系统控制界面的二维图层,将其分别合成到预设的左侧帧缓存和预设的右侧帧缓存中,并将左右帧缓存对应的图像显示到左右显示屏上,从而实现了将该系统控制界面的二维图层进行三维显示的效果。
Description
技术领域
本发明属于图像处理领域,尤其涉及一种虚拟现实显示方法、装置及虚拟现实眼镜。
背景技术
虚拟现实技术(Virtual Reality,VR)是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。
近年来,随着VR技术的发展,大量的VR设备开始进入消费者的视野,例如VR眼镜即是利用头戴式显示设备将人的对外界的视觉、听觉封闭,引导用户产生一种身在虚拟环境中的感觉。其显示原理是左右眼显示屏分别显示左右眼的图像,人眼获取这种带有差异的信息后在脑海中产生立体感。
但是现有技术对VR显示的支持主要集中在三维(3Dimensions,3D)应用,而并不支持系统控制界面比如关机控制,音量控制,电量显示等二维(2Dimensions,2D)图层的三维显示。
发明内容
有鉴于此,本发明实施例提供了一种虚拟现实显示方法及装置,以解决现有技术不支持系统控制界面比如关机控制,音量控制,电量显示等二维图层的三维显示的问题。
本发明实施例的第一方面提供了一种虚拟现实显示方法,可以包括:
获取待合成的图层集合;
判断所述图层集合中是否存在二维图层;
若所述图层集合中存在二维图层,则将所述二维图层分别合成到预设的左侧帧缓存和预设的右侧帧缓存中,所述左侧帧缓存为与虚拟现实显示设备的左侧显示屏对应的帧缓存,所述右侧帧缓存为与虚拟现实显示设备的右侧显示屏对应的帧缓存;
将与所述左侧帧缓存对应的图像显示在所述左侧显示屏上,将与所述右侧帧缓存对应的图像显示在所述右侧显示屏上,以实现所述二维图层的三维显示。
进一步地,所述将所述二维图层分别合成到预设的左侧帧缓存和预设的右侧帧缓存中可以包括:
创建第一帧缓存对象和第二帧缓存对象;
将所述左侧帧缓存关联到所述第一帧缓存对象,将所述右侧帧缓存关联到所述第二帧缓存对象;
按照预设的第一坐标调整规则调整所述二维图层的顶点坐标和纹理坐标,得到所述二维图层的左侧图层;
按照预设的第二坐标调整规则调整所述二维图层的顶点坐标和纹理坐标,得到所述二维图层的右侧图层;
通过所述第一帧缓存对象将所述二维图层的左侧图层合成到所述左侧帧缓存;
通过所述第二帧缓存对象将所述二维图层的右侧图层合成到所述右侧帧缓存。
可选地,在将与所述左侧帧缓存对应的图像显示在所述左侧显示屏上,将与所述右侧帧缓存对应的图像显示所述右侧显示屏上之前,还可以包括:
判断所述图层集合中是否存在三维图层;
若所述图层集合中存在三维图层,则将所述三维图层的左侧图层合成到所述左侧帧缓存中,将所述三维图层的右侧图层合成到所述右侧帧缓存中,所述左侧图层为与所述左侧显示屏对应的图层,所述右侧图层为与所述右侧显示屏对应的图层。
优选地,在将与所述左侧帧缓存对应的图像显示在所述左侧显示屏上,将与所述右侧帧缓存对应的图像显示在所述右侧显示屏上之前,还可以包括:
判断所述图层集合中是否存在三维图层;
若所述图层集合中存在三维图层,则获取所述三维图层的第一数目和进行硬件合成最大支持的第二数目;
若所述第一数目小于或等于所述第二数目,则对所述三维图层均进行硬件合成;
若所述第一数目大于所述第二数目,则将所述三维图层分为第一图层和第二图层,对所述第一图层进行硬件合成,将所述第二图层的左侧图层合成到所述左侧帧缓存中,将所述第二图层的右侧图层合成到所述右侧帧缓存中。
进一步地,所述将所述第二图层的左侧图层合成到所述左侧帧缓存中,将所述第二图层的右侧图层合成到所述右侧帧缓存中可以包括:
通过所述第一帧缓存对象将所述第二图层的左侧图层合成到所述左侧帧缓存;
通过所述第二帧缓存对象将所述第二图层的右侧图层合成到所述右侧帧缓存。
本发明实施例的第二方面提供了一种虚拟现实显示装置,可以包括:
图层获取模块,用于获取待合成的图层集合;
第一判断模块,用于判断所述图层集合中是否存在二维图层;
第一合成模块,用于若所述图层集合中存在二维图层,则将所述二维图层分别合成到预设的左侧帧缓存和预设的右侧帧缓存中,所述左侧帧缓存为与虚拟现实显示设备的左侧显示屏对应的帧缓存,所述右侧帧缓存为与虚拟现实显示设备的右侧显示屏对应的帧缓存;
显示模块,用于将与所述左侧帧缓存对应的图像显示在所述左侧显示屏上,将与所述右侧帧缓存对应的图像显示在所述右侧显示屏上,以实现所述二维图层的三维显示。
进一步地,所述第一合成模块可以包括:
帧缓存对象创建单元,用于创建第一帧缓存对象和第二帧缓存对象;
帧缓存对象关联单元,用于将所述左侧帧缓存关联到所述第一帧缓存对象,将所述右侧帧缓存关联到所述第二帧缓存对象;
第一调整单元,用于按照预设的第一坐标调整规则调整所述二维图层的顶点坐标和纹理坐标,得到所述二维图层的左侧图层;
第二调整单元,用于按照预设的第二坐标调整规则调整所述二维图层的顶点坐标和纹理坐标,得到所述二维图层的右侧图层;
第一合成单元,用于通过所述第一帧缓存对象将所述二维图层的左侧图层合成到所述左侧帧缓存;
第二合成单元,用于通过所述第二帧缓存对象将所述二维图层的右侧图层合成到所述右侧帧缓存。
可选地,所述虚拟现实显示装置还可以包括:
第二判断模块,用于判断所述图层集合中是否存在三维图层;
第二合成模块,用于若所述图层集合中存在三维图层,则将所述三维图层的左侧图层合成到所述左侧帧缓存中,将所述三维图层的右侧图层合成到所述右侧帧缓存中,所述左侧图层为与所述左侧显示屏对应的图层,所述右侧图层为与所述右侧显示屏对应的图层。
优选地,所述虚拟现实显示装置还可以包括:
第三判断模块,用于判断所述图层集合中是否存在三维图层;
图层数目获取模块,用于若所述图层集合中存在三维图层,则获取所述三维图层的第一数目和进行硬件合成最大支持的第二数目;
第三合成模块,用于若所述第一数目小于或等于所述第二数目,则对所述三维图层均进行硬件合成;
第四合成模块,用于若所述第一数目大于所述第二数目,则将所述三维图层分为第一图层和第二图层,对所述第一图层进行硬件合成,将所述第二图层的左侧图层合成到所述左侧帧缓存中,将所述第二图层的右侧图层合成到所述右侧帧缓存中。
进一步地,所述第四合成模块可以包括:
第三合成单元,用于通过所述第一帧缓存对象将所述第二图层的左侧图层合成到所述左侧帧缓存;
第四合成单元,用于通过所述第二帧缓存对象将所述第二图层的右侧图层合成到所述右侧帧缓存。
本发明实施例的第三方面提供了一种虚拟现实眼镜,所述虚拟现实眼镜可以包括以上所述任意一种虚拟现实显示装置。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例获取待合成的图层集合;判断所述图层集合中是否存在二维图层;若所述图层集合中存在二维图层,则将所述二维图层分别合成到预设的左侧帧缓存和预设的右侧帧缓存中;将与所述左侧帧缓存对应的图像显示在左侧显示屏上,将与所述右侧帧缓存对应的图像显示在右侧显示屏上。通过本发明,对于系统控制界面的二维图层,将其分别合成到预设的左侧帧缓存和预设的右侧帧缓存中,并将左右帧缓存对应的图像显示到左右显示屏上,从而实现了将该系统控制界面的二维图层进行三维显示的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施提供的虚拟现实显示方法的示意流程图;
图2为虚拟现实眼镜的示意图;
图3为将二维图层分别合成到左侧帧缓存和右侧帧缓存的示意流程图;
图4为本发明实施提供的虚拟现实显示装置的示意框图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
如图1所示,是本发明实施例提供的一种虚拟现实显示方法的示意流程图,所述虚拟现实显示方法可以包括:
步骤S101,获取待合成的图层集合。
每一个待合成的图层都是所述图层集合中的一个元素,该元素可以是二维图层,也可以是三维图层。
步骤S102,判断所述图层集合中是否存在二维图层;
若所述图层集合中存在二维图层,则执行步骤S103和步骤S104;
若所述图层集合中不存在二维图层,则执行步骤S105。
步骤S103,将所述二维图层分别合成到预设的左侧帧缓存和预设的右侧帧缓存中。
在本实施例中,该合成过程是由图形处理器(Graphics Processing Unit,GPU)执行的,所述左侧帧缓存为与虚拟现实显示设备的左侧显示屏对应的帧缓存,所述右侧帧缓存为与虚拟现实显示设备的右侧显示屏对应的帧缓存,一般地,所述虚拟现实显示设备为如图2所示的虚拟现实眼镜(即VR眼镜)。
在本实施例中,可以使用开放图形库(Open Graphics Library,OpenGL)作为图形程序接口。
优选的,步骤S103具体可以包括如图3所示的过程:
步骤S1031,创建第一帧缓存对象和第二帧缓存对象。
即创建两个帧缓存对象(Frame Buffer Object,FBO),分别为第一帧缓存对象和第二帧缓存对象,使用FBO可以把渲染从窗口的帧缓存转移到我们所创建的一个或者多个离屏帧缓存,适合用于将数据渲染到纹理对象,相对于其他同类技术,如数据拷贝或者交换缓存等等,使用FBO技术会更高效且易于实现。
具体地,在OpenGL渲染管线中,几何数据和纹理经过多次转化和多次测试,最后以二维像素的形式显示在屏幕上。OpenGL管线的最终渲染目的地是帧缓存,帧缓存是一些二维数组和OpenGL所使用的缓存的集合:颜色缓存、深度缓存、模板缓存和累计缓存。一般情况下,帧缓存完全由系统生成和管理,由OpenGL使用,这个系统生成的帧缓存即为默认的帧缓存。在OpenGL扩展中,提供了一种创建额外的帧缓存对象的接口,通过使用FBO,OpenGL可以将显示输出到这些帧缓存,而不是系统生成的帧缓存。而且,这些帧缓存完全受OpenGL控制。
在一个帧缓存对象中有多个颜色关联点、一个深度关联点以及一个模板关联点。需要注意的是:FBO本身并没有任何图像存储区,只有多个关联点。与FBO中这些关联点对应的缓存称之为帧缓存关联图像,它们是一些能够和一个FBO关联起来的二维数组像素。有两种类型的帧缓存关联图像,即纹理图像(texture images)和渲染缓存图像(render bufferimages),如果纹理对象的图像数据关联到帧缓存,OpenGL执行的是“渲染到纹理”(renderto texture)操作,如果渲染缓存的图像数据关联到帧缓存,OpenGL执行的是离线渲染(offscreen rendering)。
步骤S1032,将所述左侧帧缓存关联到所述第一帧缓存对象,将所述右侧帧缓存关联到所述第二帧缓存对象。
如前所述,FBO本身没有图像存储区,因此需要将作为输出的两个纹理buffer(即所述左侧帧缓存和所述右侧帧缓存)分别关联到两个FBO(即所述第一帧缓存对象和所述第二帧缓存对象)的颜色关联点(GL_COLOR_ATTACHMENT0)。这种机制允许FBO快速地切换(即先进行分离,再进行关联)帧缓存关联图像。切换帧缓存关联图像比在FBO之间切换要快得多,它节省了不必要的数据拷贝和内存消耗。
步骤S1033,按照预设的第一坐标调整规则调整所述二维图层的顶点坐标和纹理坐标,得到所述二维图层的左侧图层。
步骤S1034,按照预设的第二坐标调整规则调整所述二维图层的顶点坐标和纹理坐标,得到所述二维图层的右侧图层。
以上步骤S1033和步骤S1034即为将二维图层转换为三维图层的过程,通过进行定点坐标和纹理坐标的调整,分别得到左侧图层和右侧图层。
步骤S1035,通过所述第一帧缓存对象将所述二维图层的左侧图层合成到所述左侧帧缓存。
步骤S1036,通过所述第二帧缓存对象将所述二维图层的右侧图层合成到所述右侧帧缓存。
需要注意的是,在以上步骤S103的优选方案中,是通过步骤S1031创建帧缓存对象,通过步骤S1032关联帧缓存对象的。可选地,也可以预先创建并关联好帧缓存对象,则无需再执行帧缓存的创建以及关联过程。
步骤S104,将与所述左侧帧缓存对应的图像显示在所述左侧显示屏上,将与所述右侧帧缓存对应的图像显示在所述右侧显示屏上。
在本实施例中,该显示过程是通过液晶显示(Liquid Crystal Display,LCD)控制器实现的,此时,用户的左眼通过所述虚拟现实显示设备的左侧显示屏可以看到所述左侧帧缓存对应的图像,用户的右眼通过所述虚拟现实显示设备的右侧显示屏可以看到所述右侧帧缓存对应的图像,从而实现了所述二维图层的三维显示。
优选地,在步骤S104之前,还需要判断所述图层集合中是否存在三维图层,若所述图层集合中存在三维图层,则需要对这些三维图层也进行合成,具体地,可以通过以下两种处理方案来实现:
方案一:
将所述三维图层的左侧图层合成到所述左侧帧缓存中,将所述三维图层的右侧图层合成到所述右侧帧缓存中,所述左侧图层为与所述左侧显示屏对应的图层,所述右侧图层为与所述右侧显示屏对应的图层。
具体地是通过所述第一帧缓存对象将所述左侧图层合成到所述左侧帧缓存,通过所述第二帧缓存对象将所述右侧图层合成到所述右侧帧缓存。
特别需要注意的是,二维图层和三维图层的合成过程是共用相同的FBO(即所述第一帧缓存对象和所述第二帧缓存对象)和相同的buffer(即所述左侧帧缓存和所述右侧帧缓存),减少了对资源的占用,且提高了合成的效率。
该方案在通过LCD控制器进行显示之前,将原有的三维图层的左侧图层和右侧图层也分别合成到所述左侧帧缓存和所述右侧帧缓存中,最后在显示屏上出现的是原有的二维图层和原有的三维图层共同合成的三维图像。
方案二:
获取所述三维图层的第一数目和进行硬件合成最大支持的第二数目,所述硬件合成是通过使用LCD控制器中的Overlay技术来实现的,Overlay是一种数字视频的显示技术,它允许数字信号不经过显示芯片处理,而直接通过显存输出到显示器屏幕上,Overlay具有速度快、画质好、占用系统资源少等特点,很适合于视频播放。
若所述第一数目小于或等于所述第二数目,也就是说当前的Overlay能力是足够的,则对所述三维图层均进行硬件合成。
若所述第一数目大于所述第二数目,也就是说当前的Overlay能力是不足的,则根据当前的Overlay能力将所述三维图层分为第一图层和第二图层,对在当前的Overlay能力之内的所述第一图层进行硬件合成,对其它的超出当前的Overlay能力之外的图层,也即所述第二图层不进行硬件合成,而是按照方案一的方式进行处理,即将所述第二图层的左侧图层合成到所述左侧帧缓存中,将所述第二图层的右侧图层合成到所述右侧帧缓存中,具体地是通过所述第一帧缓存对象将所述第二图层的左侧图层合成到所述左侧帧缓存,通过所述第二帧缓存对象将所述第二图层的右侧图层合成到所述右侧帧缓存。与方案一相同,此时二维图层和三维图层(即所述第二图层)的合成过程是共用相同的FBO(即所述第一帧缓存对象和所述第二帧缓存对象)和相同的buffer(即所述左侧帧缓存和所述右侧帧缓存),同样起到了减少了对资源的占用,且提高了合成的效率的作用。
该方案对于三维图层尽量优先使用LCD控制器中的Overlay进行硬件合成,充分利用硬件性能,减轻GPU的负担,降低GPU的硬件门槛,通过硬件合成的配合使用,可以提高系统性能,保持稳定的刷新率。
在本实施例中,优选方案二对三维图层进行处理。
步骤S105,使用系统原有方法进行图像合成并显示。
在不存在二维图层的情况下,也即当前并没有比如关机控制,音量控制,电量显示等系统控制界面的显示,此时无需进行二维到三维的转换,不需要进行额外的操作,仍使用系统原有方法进行图像合成并显示即可。
综上所述,本发明实施例获取待合成的图层集合;判断所述图层集合中是否存在二维图层;若所述图层集合中存在二维图层,则将所述二维图层分别合成到预设的左侧帧缓存和预设的右侧帧缓存中;将与所述左侧帧缓存对应的图像显示在左侧显示屏上,将与所述右侧帧缓存对应的图像显示在右侧显示屏上。通过本发明,对于系统控制界面的二维图层,将其分别合成到预设的左侧帧缓存和预设的右侧帧缓存中,并将左右帧缓存对应的图像显示到左右显示屏上,从而实现了将该系统控制界面的二维图层进行三维显示的效果。
实施例二:
如图4所示,是本发明实施例提供的一种虚拟现实显示装置的示意框图,所述虚拟现实显示装置可以包括:
图层获取模块401,用于获取待合成的图层集合;
第一判断模块402,用于判断所述图层集合中是否存在二维图层;
第一合成模块403,用于若所述图层集合中存在二维图层,则将所述二维图层分别合成到预设的左侧帧缓存和预设的右侧帧缓存中,所述左侧帧缓存为与虚拟现实显示设备的左侧显示屏对应的帧缓存,所述右侧帧缓存为与虚拟现实显示设备的右侧显示屏对应的帧缓存;
显示模块404,用于将与所述左侧帧缓存对应的图像显示在所述左侧显示屏上,将与所述右侧帧缓存对应的图像显示在所述右侧显示屏上,以实现所述二维图层的三维显示。
进一步地,所述第一合成模块403可以包括:
帧缓存对象创建单元4031,用于创建第一帧缓存对象和第二帧缓存对象;
帧缓存对象关联单元4032,用于将所述左侧帧缓存关联到所述第一帧缓存对象,将所述右侧帧缓存关联到所述第二帧缓存对象;
第一调整单元4033,用于按照预设的第一坐标调整规则调整所述二维图层的顶点坐标和纹理坐标,得到所述二维图层的左侧图层;
第二调整单元4034,用于按照预设的第二坐标调整规则调整所述二维图层的顶点坐标和纹理坐标,得到所述二维图层的右侧图层;
第一合成单元4035,用于通过所述第一帧缓存对象将所述二维图层的左侧图层合成到所述左侧帧缓存;
第二合成单元4036,用于通过所述第二帧缓存对象将所述二维图层的右侧图层合成到所述右侧帧缓存。
可选地,所述虚拟现实显示装置还可以包括:
第二判断模块405,用于判断所述图层集合中是否存在三维图层;
第二合成模块406,用于若所述图层集合中存在三维图层,则将所述三维图层的左侧图层合成到所述左侧帧缓存中,将所述三维图层的右侧图层合成到所述右侧帧缓存中,所述左侧图层为与所述左侧显示屏对应的图层,所述右侧图层为与所述右侧显示屏对应的图层。
优选地,所述虚拟现实显示装置还可以包括:
第三判断模块407,用于判断所述图层集合中是否存在三维图层;
图层数目获取模块408,用于若所述图层集合中存在三维图层,则获取所述三维图层的第一数目和进行硬件合成最大支持的第二数目;
第三合成模块409,用于若所述第一数目小于或等于所述第二数目,则对所述三维图层均进行硬件合成;
第四合成模块410,用于若所述第一数目大于所述第二数目,则将所述三维图层分为第一图层和第二图层,对所述第一图层进行硬件合成,将所述第二图层的左侧图层合成到所述左侧帧缓存中,将所述第二图层的右侧图层合成到所述右侧帧缓存中。
需要注意的是,包括第二判断模块405和第二合成模块406的可选方案不能与包括第三判断模块407、图层数目获取模块408、第三合成模块409和第四合成模块410的优选方案同时存在。
进一步地,优选方案中的所述第四合成模块410可以包括:
第三合成单元4101,用于通过所述第一帧缓存对象将所述第二图层的左侧图层合成到所述左侧帧缓存;
第四合成单元4102,用于通过所述第二帧缓存对象将所述第二图层的右侧图层合成到所述右侧帧缓存。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
实施例三:
本发明实施例提供了一种虚拟现实眼镜,所述虚拟现实眼镜可以包括图4对应的实施例中描述的任意一种虚拟现实显示装置。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种虚拟现实显示方法,其特征在于,包括:
获取待合成的图层集合;
判断所述图层集合中是否存在二维图层;
若所述图层集合中存在二维图层,则将所述二维图层分别合成到预设的左侧帧缓存和预设的右侧帧缓存中,所述左侧帧缓存为与虚拟现实显示设备的左侧显示屏对应的帧缓存,所述右侧帧缓存为与虚拟现实显示设备的右侧显示屏对应的帧缓存;
将与所述左侧帧缓存对应的图像显示在所述左侧显示屏上,将与所述右侧帧缓存对应的图像显示在所述右侧显示屏上,以实现所述二维图层的三维显示。
2.根据权利要求1所述的虚拟现实显示方法,其特征在于,所述将所述二维图层分别合成到预设的左侧帧缓存和预设的右侧帧缓存中包括:
创建第一帧缓存对象和第二帧缓存对象;
将所述左侧帧缓存关联到所述第一帧缓存对象,将所述右侧帧缓存关联到所述第二帧缓存对象;
按照预设的第一坐标调整规则调整所述二维图层的顶点坐标和纹理坐标,得到所述二维图层的左侧图层;
按照预设的第二坐标调整规则调整所述二维图层的顶点坐标和纹理坐标,得到所述二维图层的右侧图层;
通过所述第一帧缓存对象将所述二维图层的左侧图层合成到所述左侧帧缓存;
通过所述第二帧缓存对象将所述二维图层的右侧图层合成到所述右侧帧缓存。
3.根据权利要求1或2所述的虚拟现实显示方法,其特征在于,在将与所述左侧帧缓存对应的图像显示在所述左侧显示屏上,将与所述右侧帧缓存对应的图像显示所述右侧显示屏上之前,还包括:
判断所述图层集合中是否存在三维图层;
若所述图层集合中存在三维图层,则将所述三维图层的左侧图层合成到所述左侧帧缓存中,将所述三维图层的右侧图层合成到所述右侧帧缓存中,所述左侧图层为与所述左侧显示屏对应的图层,所述右侧图层为与所述右侧显示屏对应的图层。
4.根据权利要求2所述的虚拟现实显示方法,其特征在于,在将与所述左侧帧缓存对应的图像显示在所述左侧显示屏上,将与所述右侧帧缓存对应的图像显示在所述右侧显示屏上之前,还包括:
判断所述图层集合中是否存在三维图层;
若所述图层集合中存在三维图层,则获取所述三维图层的第一数目和进行硬件合成最大支持的第二数目;
若所述第一数目小于或等于所述第二数目,则对所述三维图层均进行硬件合成;
若所述第一数目大于所述第二数目,则将所述三维图层分为第一图层和第二图层,对所述第一图层进行硬件合成,将所述第二图层的左侧图层合成到所述左侧帧缓存中,将所述第二图层的右侧图层合成到所述右侧帧缓存中。
5.根据权利要求4所述的虚拟现实显示方法,其特征在于,所述将所述第二图层的左侧图层合成到所述左侧帧缓存中,将所述第二图层的右侧图层合成到所述右侧帧缓存中包括:
通过所述第一帧缓存对象将所述第二图层的左侧图层合成到所述左侧帧缓存;
通过所述第二帧缓存对象将所述第二图层的右侧图层合成到所述右侧帧缓存。
6.一种虚拟现实显示装置,其特征在于,包括:
图层获取模块,用于获取待合成的图层集合;
第一判断模块,用于判断所述图层集合中是否存在二维图层;
第一合成模块,用于若所述图层集合中存在二维图层,则将所述二维图层分别合成到预设的左侧帧缓存和预设的右侧帧缓存中,所述左侧帧缓存为与虚拟现实显示设备的左侧显示屏对应的帧缓存,所述右侧帧缓存为与虚拟现实显示设备的右侧显示屏对应的帧缓存;
显示模块,用于将与所述左侧帧缓存对应的图像显示在所述左侧显示屏上,将与所述右侧帧缓存对应的图像显示在所述右侧显示屏上,以实现所述二维图层的三维显示。
7.根据权利要求6所述的虚拟现实显示装置,其特征在于,所述第一合成模块包括:
帧缓存对象创建单元,用于创建第一帧缓存对象和第二帧缓存对象;
帧缓存对象关联单元,用于将所述左侧帧缓存关联到所述第一帧缓存对象,将所述右侧帧缓存关联到所述第二帧缓存对象;
第一调整单元,用于按照预设的第一坐标调整规则调整所述二维图层的顶点坐标和纹理坐标,得到所述二维图层的左侧图层;
第二调整单元,用于按照预设的第二坐标调整规则调整所述二维图层的顶点坐标和纹理坐标,得到所述二维图层的右侧图层;
第一合成单元,用于通过所述第一帧缓存对象将所述二维图层的左侧图层合成到所述左侧帧缓存;
第二合成单元,用于通过所述第二帧缓存对象将所述二维图层的右侧图层合成到所述右侧帧缓存。
8.根据权利要求6或7所述的虚拟现实显示装置,其特征在于,还包括:
第二判断模块,用于判断所述图层集合中是否存在三维图层;
第二合成模块,用于若所述图层集合中存在三维图层,则将所述三维图层的左侧图层合成到所述左侧帧缓存中,将所述三维图层的右侧图层合成到所述右侧帧缓存中,所述左侧图层为与所述左侧显示屏对应的图层,所述右侧图层为与所述右侧显示屏对应的图层。
9.根据权利要求6或7所述的虚拟现实显示装置,其特征在于,还包括:
第三判断模块,用于判断所述图层集合中是否存在三维图层;
图层数目获取模块,用于若所述图层集合中存在三维图层,则获取所述三维图层的第一数目和进行硬件合成最大支持的第二数目;
第三合成模块,用于若所述第一数目小于或等于所述第二数目,则对所述三维图层均进行硬件合成;
第四合成模块,用于若所述第一数目大于所述第二数目,则将所述三维图层分为第一图层和第二图层,对所述第一图层进行硬件合成,将所述第二图层的左侧图层合成到所述左侧帧缓存中,将所述第二图层的右侧图层合成到所述右侧帧缓存中。
10.一种包括权利要求6至9中任一项所述的虚拟现实显示装置的虚拟现实眼镜。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710329987.5A CN107277483B (zh) | 2017-05-11 | 2017-05-11 | 一种虚拟现实显示方法、装置及虚拟现实眼镜 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710329987.5A CN107277483B (zh) | 2017-05-11 | 2017-05-11 | 一种虚拟现实显示方法、装置及虚拟现实眼镜 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107277483A true CN107277483A (zh) | 2017-10-20 |
CN107277483B CN107277483B (zh) | 2019-05-14 |
Family
ID=60074208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710329987.5A Active CN107277483B (zh) | 2017-05-11 | 2017-05-11 | 一种虚拟现实显示方法、装置及虚拟现实眼镜 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107277483B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846584A (zh) * | 2017-11-02 | 2018-03-27 | 中国电子科技集团公司第二十八研究所 | 基于场景管理开发库的虚拟现实自适应桌面同步投影方法 |
CN108038816A (zh) * | 2017-12-20 | 2018-05-15 | 浙江煮艺文化科技有限公司 | 一种虚拟现实图像处理装置及方法 |
CN109308742A (zh) * | 2018-08-09 | 2019-02-05 | 重庆爱奇艺智能科技有限公司 | 一种在虚拟现实的3d场景中运行2d应用的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040136590A1 (en) * | 2002-09-20 | 2004-07-15 | Albert-Jan Brouwer | Means of partitioned matching and selective refinement in a render, match, and refine iterative 3D scene model refinement system through propagation of model element identifiers |
CN101477700A (zh) * | 2009-02-06 | 2009-07-08 | 南京师范大学 | 面向Google Earth与Sketch Up的真三维立体显示方法 |
CN105447898A (zh) * | 2015-12-31 | 2016-03-30 | 北京小鸟看看科技有限公司 | 一种虚拟现实设备中显示2d应用界面的方法和装置 |
CN105847789A (zh) * | 2016-03-31 | 2016-08-10 | 深圳多哚新技术有限责任公司 | 一种基于vr图像的显示屏驱动的方法和装置 |
CN105844581A (zh) * | 2016-04-14 | 2016-08-10 | 北京极维客科技有限公司 | 一种图像绘制方法、装置及设备 |
-
2017
- 2017-05-11 CN CN201710329987.5A patent/CN107277483B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040136590A1 (en) * | 2002-09-20 | 2004-07-15 | Albert-Jan Brouwer | Means of partitioned matching and selective refinement in a render, match, and refine iterative 3D scene model refinement system through propagation of model element identifiers |
CN101477700A (zh) * | 2009-02-06 | 2009-07-08 | 南京师范大学 | 面向Google Earth与Sketch Up的真三维立体显示方法 |
CN105447898A (zh) * | 2015-12-31 | 2016-03-30 | 北京小鸟看看科技有限公司 | 一种虚拟现实设备中显示2d应用界面的方法和装置 |
CN105847789A (zh) * | 2016-03-31 | 2016-08-10 | 深圳多哚新技术有限责任公司 | 一种基于vr图像的显示屏驱动的方法和装置 |
CN105844581A (zh) * | 2016-04-14 | 2016-08-10 | 北京极维客科技有限公司 | 一种图像绘制方法、装置及设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846584A (zh) * | 2017-11-02 | 2018-03-27 | 中国电子科技集团公司第二十八研究所 | 基于场景管理开发库的虚拟现实自适应桌面同步投影方法 |
CN107846584B (zh) * | 2017-11-02 | 2019-05-07 | 中国电子科技集团公司第二十八研究所 | 基于场景管理开发库的虚拟现实自适应桌面同步投影方法 |
CN108038816A (zh) * | 2017-12-20 | 2018-05-15 | 浙江煮艺文化科技有限公司 | 一种虚拟现实图像处理装置及方法 |
CN109308742A (zh) * | 2018-08-09 | 2019-02-05 | 重庆爱奇艺智能科技有限公司 | 一种在虚拟现实的3d场景中运行2d应用的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107277483B (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Weier et al. | Foveated real‐time ray tracing for head‐mounted displays | |
CN103874991B (zh) | 众包视频渲染系统 | |
CN107660338B (zh) | 对象的立体显示 | |
CN102902848B (zh) | 针对边界元分析的三维可视化仿真方法 | |
TWI693531B (zh) | 針對虛擬實境漫步式的掃視重新定向 | |
CN104765594B (zh) | 一种显示图形用户界面的方法及装置 | |
US20190073819A1 (en) | Stereoscopic rendering using vertix shader instancing | |
CN115552451A (zh) | 用于增强现实的多层二次投影技术 | |
CN107277483B (zh) | 一种虚拟现实显示方法、装置及虚拟现实眼镜 | |
DE102021121109A1 (de) | Wiederherstellung dreidimensionaler modelle aus zweidimensionalen bildern | |
US11417060B2 (en) | Stereoscopic rendering of virtual 3D objects | |
JP2023029984A (ja) | 仮想イメージを生成するための方法、装置、電子機器及び可読記憶媒体 | |
JP2016529593A (ja) | 立体シーンのインターリーブ方式のタイル型レンダリング | |
JP4593513B2 (ja) | 3次元表示方法、3次元表示装置、およびプログラム | |
CN106548500A (zh) | 一种基于gpu的二维态势图像处理方法及装置 | |
JP2024054180A (ja) | 仮想、拡張、および複合現実システムおよび方法 | |
CN105892681A (zh) | 虚拟现实终端及其场景的处理方法和装置 | |
CN115311395A (zh) | 三维场景渲染方法、装置及设备 | |
CN108769644B (zh) | 一种基于深度学习的双目动画风格化渲染方法 | |
US9824642B2 (en) | Rendering techniques for textured displays | |
JP2023547838A (ja) | 待ち時間復元クラウドレンダリング | |
JP2004201004A (ja) | 3次元映像表示装置、プログラム、及び記録媒体 | |
Isshiki et al. | An Offline‐Based On‐Demand Visualization System of Large‐Scale Particle Simulation for Tsunami Disaster Prevention | |
US11861785B2 (en) | Generation of tight world space bounding regions | |
US12045928B2 (en) | Ray tracing processor |
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 |