CN107846584B - 基于场景管理开发库的虚拟现实自适应桌面同步投影方法 - Google Patents
基于场景管理开发库的虚拟现实自适应桌面同步投影方法 Download PDFInfo
- Publication number
- CN107846584B CN107846584B CN201711064686.0A CN201711064686A CN107846584B CN 107846584 B CN107846584 B CN 107846584B CN 201711064686 A CN201711064686 A CN 201711064686A CN 107846584 B CN107846584 B CN 107846584B
- Authority
- CN
- China
- Prior art keywords
- desktop
- fbo
- projection
- video camera
- virtual reality
- 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
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了基于场景管理开发库的虚拟现实自适应桌面同步投影方法,包括:步骤1、接入虚拟现实设备,启动虚拟现实应用系统;步骤2、根据当前窗口创建系统唯一图形设备;步骤3、根据桌面分辨率初始化桌面镜像FBO对象;步骤4、使用OSG的相机API建立桌面投影专用摄像机;步骤5、使用OSG的API为桌面投影专用摄像机创建双重FBO对象。第一个负责获取当前帧内容;第二个保存上次最新帧内容;步骤6、为图形设备设置自定义的缓存交换机制,作为图形的刷新回调。回调中从桌面投影摄像机渲染FBO获取最新帧内容,将最新帧进行投影换算,输出到桌面镜像FBO,最终进行渲染,使画面在左右眼输出的同时渲染至桌面投影。
Description
技术领域
本发明属于虚拟现实应用领域,尤其涉及基于场景管理开发库的虚拟现实自适应桌面同步投影方法。
背景技术
虚拟现实技术简称VR,是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机技术模拟产生一个为用户提供视觉、听觉、触觉等感官模拟的三维空间虚拟世界,用户借助特殊的输入、输出设备,与虚拟世界进行自然的交互。OpenScenceGraph(简称OSG),是一个开源的场景管理开发库,主要为图形图像应用程序的开发提供场景管理和图形渲染优化功能。OSG是三维地理信息系统的一种重要的技术基础,三维地理信息系统可以对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述。在使用OSG进行三维地理信息综合和显示的过程中,与虚拟现实相结合,可以得到对地理信息观测充分的沉浸感,有助于用户更好的分析和决策。
目前虚拟设备的交互设备,在使用过程中仅有使用头戴式显示器能够获得完整的系统展示,其他人均依赖于其左右眼画面的直接映射或局部展示,不能获得和左右眼同步的完整信息。对于基于OSG的虚拟现实系统,由于OSG可以承载海量的地理信息数据的能力,系统常常用来做辅助决策和战术商讨,常常需要较为宏观的观测角度,而现有的显示则不能很好的凸显OSG的数据特性,影响了基于OSG的虚拟现实的进一步发展。
发明内容
发明目的:针对现有技术中存在的问题,本发明公开了一种基于OSG的虚拟现实无损桌面同步投影方法,该方法在基于OSG的虚拟现实应用下进行任意桌面分辨率的无损投影,可以使得画面在左右眼输出的同步渲染至桌面投影。
技术方案:本发明公开了基于场景管理开发库OSG的虚拟现实自适应桌面同步投影方法,其技术方案包括如下步骤:
步骤1、接入虚拟现实设备,包括头戴式显示手柄、交互设备等,启动基于OSG的虚拟现实应用系统,即使用OSG中进行虚拟现实应用的任一系统;
步骤2、使用图形设备接口API(Application Programming Interface,应用程序编程接口)根据当前窗口创建系统唯一图形设备;
步骤3、获取桌面分辨率,根据分辨率初始化桌面镜像FBO(Frame Buffer Object)对象,用来将显示输出到屏幕;
步骤4、使用OSG的相机API建立桌面投影专用摄像机,根据接入的虚拟现实设备参数计算其初始观察矩阵、投影矩阵以及视口,桌面投影专用摄像机与左右眼摄像机共享系统唯一图形设备;
步骤5、使用OSG的API为桌面投影专用摄像机创建双重FBO对象,第一个FBO对象负责获取当前帧内容;第二个FBO保存上次最新帧内容,为渲染FBO,第二个FBO对象作为桌面镜像FBO的输入来源;
步骤6、为图形设备设置自定义的缓存交换机制,作为图形的刷新回调方式,回调中从桌面投影摄像机渲染FBO获取最新帧内容,将最新帧进行投影换算,形成与桌面分辨率大小一致的帧内容,输出到桌面镜像FBO,最终进行渲染,使画面在左右眼输出的同时渲染至桌面投影。
步骤4中包括如下步骤:
步骤4-1,设置世界坐标比例系数wx,左眼调整因子lx,右眼调整因子rx;
步骤4-2,根据接入的虚拟现实设备获取左眼调整系数矩阵LeftVM和右眼调整系数矩阵RightVM,桌面投影摄像机的初始观察矩阵WindowVM计算公式为:
WindowVM=(LeftVM*lx+RightVM*rx)*wx;
公式中代入左眼调整因子lx,右眼调整因子rx,得到WindowVM值;
步骤4-3,根据接入的虚拟现实设备获取左眼投影矩阵LeftPM和右眼投影矩阵RightPM,桌面投影摄像机的初始投影矩阵WindowPM计算公式为:
WindowPM=LeftPM*lx+RightPM*rx;
代入左眼调整因子lx,右眼调整因子rx,得到WindowPM值;
步骤4-4,根据接入的虚拟现实设备获取显示最佳屏幕高度h和最佳屏幕宽度w,桌面投影摄像机的视口设置为(0,0,w,h)。
步骤6包括如下步骤:
步骤6-1,根据图形设备获取其FBO管理器;
步骤6-2,将桌面镜像FBO绑定至帧绘图操作;
步骤6-3,获取桌面投影专用摄像机渲染FBO;
步骤6-4,将桌面投影专用摄像机渲染FBO绑定至帧读取操作;
步骤6-5,帧读取操作得到桌面投影专用摄像机渲染FBO中的最新帧;
步骤6-6,将最新帧按桌面分辨率大小换算成帧绘图操作需要的帧内容;
步骤6-7,将换算后的帧内容读取至帧绘图操作;
步骤6-8,解除FBO绑定;
步骤6-9,通过帧绘图动作输出显示画面,该画面与左右眼输出的画面一致。
本发明步骤6中,图形设备的自定义缓存交换机制,实现了画面帧与桌面投影显示的匹配。
本发明方法以基于OSG的虚拟现实技术为基础,通过建立独立的桌面投影摄相机进行虚拟现实桌面投影,其显示原理是以系统中唯一图形设备为基础,为图形设备建立自定义的缓存交换机制,摄相机与头戴式感应设备的左右眼摄像机共享此图形设备并同步显示画面,桌面画面的自适应性通过建立FBO(Frame Buffer Object)组的协调工作来实现。FBO组包括桌面镜像FBO对象和桌面投影摄像机双重FBO,其中桌面镜像FBO依赖于桌面分辨率,桌面投影摄像机双重FBO则与虚拟现实设备的输出要求相匹配,渲染时通过两种FBO的协调工作,将要渲染的每帧画面按照投影关系进行投影,融合形成单幅桌面投影画面,最终在后台形成不失真的桌面渲染显示。该方法可支持基于OSG的虚拟现实左右眼输出和桌面投影的同步显示,不同于虚拟现实设备左右眼画面直接映射造成的画面失真或画面裁剪丢失性,能支持任意分辨率桌面的自适应显示,很好的支持了基于OSG的虚拟现实的多人协同分析,提高了观测和辅助决策能力;同时该方法适用于所有基于OSG的虚拟现实显示,具有很好的通用性。
有益效果:与现有技术相比,本发明具有以下优点:1、该方法适用于所有基于OSG的虚拟现实设备的桌面投影,不受限于硬件设备,具有很好的通用性;2、该方法不同于虚拟现实设备左右眼画面直接映射造成的画面失真或画面裁剪丢失性,能将画面完整不失真的显示出来;3、该方法按照接入虚拟现实设备的特性进行桌面投影的比例换算,确保了各虚拟现实设备的兼容性,并始终保证与虚拟现实头戴式显示器左右眼显示内容一致,没有造成实际显示内容的丢失;4、该方法建立的桌面投影摄像机的双重FBO对象,保障了刷新前准备和刷新具体动作的并行进行,提高了刷新效率;5、该方法阐述时仅对单个桌面扩展的投影原理进行描述,但该方法原理可应用于多个桌面同时投影的情况,也可以任意设定具体投影的显示范围,为进一步的基于OSG的虚拟现实集成做铺垫,有很好的可扩展性。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
图1为本发明技术方案流程图;
图2为画面帧与桌面投影原理图;
图3为桌面投影摄像机FBO协同工作原理图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
如图1所示,为本发明技术方案的流程图。本实施例中采用HTC Vive虚拟现实设备,采用单个桌面投影分辨率为1600*1200。对本发明技术方案进行详细说明。
步骤1、接入HTC Vive头戴式显示器和手柄,启动基于OSG的虚拟现实应用系统;
步骤2、建立系统唯一图形设备gc;
步骤3、获取桌面分辨率为1600*1200,初始化桌面镜像FBO(Frame BufferObject)对象mirrorFBO,用来将显示输出到屏幕;
步骤4、建立桌面投影专用摄像机windowCamera,获取接入的HTC Vive头戴式显示器显示参数为:
显示最佳宽度:vrWidth=1680
显示最佳高度:vrHeight=1512
根据参数计算其初始观察矩阵WindowVM、投影矩阵WindowPM以及视口WindowViewPort,与左右眼摄像机共享系统唯一图形设备gc;
桌面投影专用摄像机的计算方法如下:
(11)设置世界坐标比例系数wx=1.0,左眼调整因子lx=0.5,右眼调整因子rx=0.5;
(12)根据接入的HTC Vive头戴式显示器获取左眼调整系数矩阵LeftVM值如下:
右眼调整系数矩阵RightVM值如下:
根据桌面投影摄像机的观察矩阵计算公式WindowVM=(LeftVM*lx+RightVM*rx)*wx,得到桌面投影摄像机的观察矩阵值如下:
(13)获取左眼投影矩阵LeftPM值如下:
右眼投影矩阵RightPM值如下:
根据桌面投影摄像机的投影矩阵计算公式WindowPM=LeftPM*lx+RightPM*rx,得到桌面投影摄像机的投影矩阵值入下:
(14)根据接入的虚拟现实设备获取显示最佳屏幕高度h和最佳屏幕宽度w,桌面投影摄像机的视口设置为(0,0,1600,1200);
步骤5、为桌面投影摄像机创建双重FBO对象ResolveFBO和MSAAFBO,其渲染大小与步骤4中vrWidth和vrHeight相关联,ResolveFBO负责获取当前帧内容,MSAAFBO保存上次最新帧内容,为渲染帧,并输出到桌面镜像mirrorFBO,从而将获取帧刷新和渲染准备分开来;
步骤6、为图形设备设置自定义的缓存交换机制OpenVRSwapCallback,作为图形的刷新回调方式。实现画面帧与桌面投影显示的比例换算和匹配,其实现原理如图2所示。回调中从MSAAFBO获取最新帧内容,将最新帧进行投影换算,形成与桌面分辨率大小一致的帧内容,输出到桌面镜像mirrorFBO,最终进行渲染,使画面在左右眼输出的同时渲染至桌面投影,其渲染原理如图3所示。
本发明提供了基于场景管理开发库的虚拟现实自适应桌面同步投影方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (2)
1.一种基于场景管理开发库的虚拟现实自适应桌面同步投影方法,其特征在于,包括如下步骤:
步骤1、接入虚拟现实设备,启动基于OSG的虚拟现实应用系统,即使用OSG中进行虚拟现实应用的任一系统;
步骤2、使用图形设备接口API根据当前窗口创建系统唯一图形设备;
步骤3、获取桌面分辨率,根据分辨率初始化桌面镜像FBO对象,用于将显示输出到屏幕;
步骤4、使用OSG的相机API建立桌面投影专用摄像机,根据接入的虚拟现实设备参数计算其初始观察矩阵、投影矩阵以及视口,桌面投影专用摄像机与左右眼摄像机共享系统唯一图形设备;
步骤5、使用OSG的API为桌面投影专用摄像机创建双重FBO对象,第一个FBO对象负责获取当前帧内容;第二个FBO保存上次最新帧内容,为渲染FBO,第二个FBO对象作为桌面镜像FBO的输入来源;
步骤6、为图形设备设置自定义的缓存交换机制,作为图形的刷新回调方式,回调中从桌面投影摄像机渲染FBO获取最新帧内容,将最新帧进行投影换算,形成与桌面分辨率大小一致的帧内容,输出到桌面镜像FBO,最终进行渲染,使画面在左右眼输出的同时渲染至桌面投影;
步骤1中所述虚拟现实设备包括头戴式显示器、手柄;
步骤4中包括如下步骤:
步骤4-1,设置世界坐标比例系数wx,左眼调整因子lx,右眼调整因子rx;
步骤4-2,根据接入的虚拟现实设备获取左眼调整系数矩阵LeftVM和右眼调整系数矩阵RightVM,桌面投影摄像机的初始观察矩阵WindowVM计算公式为:
WindowVM=(LeftVM*lx+RightVM*rx)*wx;
公式中代入左眼调整因子lx,右眼调整因子rx,得到WindowVM值;
步骤4-3,根据接入的虚拟现实设备获取左眼投影矩阵LeftPM和右眼投影矩阵RightPM,桌面投影摄像机的初始投影矩阵WindowPM计算公式为:
WindowPM=LeftPM*lx+RightPM*rx;
代入左眼调整因子lx,右眼调整因子rx,得到WindowPM值;
步骤4-4,根据接入的虚拟现实设备获取显示最佳屏幕高度h和最佳屏幕宽度w,桌面投影摄像机的视口设置为(0,0,w,h)。
2.根据权利要求1所述的方法,其特征在于,步骤6包括如下步骤:
步骤6-1,根据图形设备获取其FBO管理器;
步骤6-2,将桌面镜像FBO绑定至帧绘图操作;
步骤6-3,获取桌面投影专用摄像机渲染FBO;
步骤6-4,将桌面投影专用摄像机渲染FBO绑定至帧读取操作;
步骤6-5,帧读取操作得到桌面投影专用摄像机渲染FBO中的最新帧;
步骤6-6,将最新帧按桌面分辨率大小换算成帧绘图操作需要的帧内容;
步骤6-7,将换算后的帧内容读取至帧绘图操作;
步骤6-8,解除FBO绑定;
步骤6-9,通过帧绘图动作输出显示画面,该画面与左右眼输出的画面一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711064686.0A CN107846584B (zh) | 2017-11-02 | 2017-11-02 | 基于场景管理开发库的虚拟现实自适应桌面同步投影方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711064686.0A CN107846584B (zh) | 2017-11-02 | 2017-11-02 | 基于场景管理开发库的虚拟现实自适应桌面同步投影方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107846584A CN107846584A (zh) | 2018-03-27 |
CN107846584B true CN107846584B (zh) | 2019-05-07 |
Family
ID=61682201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711064686.0A Active CN107846584B (zh) | 2017-11-02 | 2017-11-02 | 基于场景管理开发库的虚拟现实自适应桌面同步投影方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107846584B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108765576B (zh) * | 2018-03-28 | 2022-01-04 | 中国人民解放军92859部队 | 基于OsgEarth的VIVE虚拟地球漫游浏览方法 |
CN111381431B (zh) * | 2020-05-11 | 2021-04-13 | 江苏舜合物联网科技有限公司 | 投影画面跟随可卷曲屏幕同步升降或同步平移的实现方法 |
CN112235562B (zh) * | 2020-10-12 | 2023-09-15 | 聚好看科技股份有限公司 | 一种3d显示终端、控制器及图像处理方法 |
CN113900754B (zh) * | 2021-10-09 | 2023-10-31 | 深圳技德智能科技研究院有限公司 | 共享桌面方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102903146A (zh) * | 2012-09-13 | 2013-01-30 | 中国科学院自动化研究所 | 用于场景绘制的图形处理方法 |
CN105447898A (zh) * | 2015-12-31 | 2016-03-30 | 北京小鸟看看科技有限公司 | 一种虚拟现实设备中显示2d应用界面的方法和装置 |
CN105701851A (zh) * | 2014-11-28 | 2016-06-22 | 星际空间(天津)科技发展有限公司 | 一种基于地理信息的三维渲染引擎系统 |
KR20160122611A (ko) * | 2015-04-14 | 2016-10-24 | (주)일렉콤 | 지형에 따른 경사각 구현기능을 갖는 가상현실 모션 플렛폼을 이용한 구동 방법 |
CN107277483A (zh) * | 2017-05-11 | 2017-10-20 | 深圳市冠旭电子股份有限公司 | 一种虚拟现实显示方法、装置及虚拟现实眼镜 |
-
2017
- 2017-11-02 CN CN201711064686.0A patent/CN107846584B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102903146A (zh) * | 2012-09-13 | 2013-01-30 | 中国科学院自动化研究所 | 用于场景绘制的图形处理方法 |
CN105701851A (zh) * | 2014-11-28 | 2016-06-22 | 星际空间(天津)科技发展有限公司 | 一种基于地理信息的三维渲染引擎系统 |
KR20160122611A (ko) * | 2015-04-14 | 2016-10-24 | (주)일렉콤 | 지형에 따른 경사각 구현기능을 갖는 가상현실 모션 플렛폼을 이용한 구동 방법 |
CN105447898A (zh) * | 2015-12-31 | 2016-03-30 | 北京小鸟看看科技有限公司 | 一种虚拟现实设备中显示2d应用界面的方法和装置 |
CN107277483A (zh) * | 2017-05-11 | 2017-10-20 | 深圳市冠旭电子股份有限公司 | 一种虚拟现实显示方法、装置及虚拟现实眼镜 |
Also Published As
Publication number | Publication date |
---|---|
CN107846584A (zh) | 2018-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107846584B (zh) | 基于场景管理开发库的虚拟现实自适应桌面同步投影方法 | |
Rohmer et al. | Interactive near-field illumination for photorealistic augmented reality on mobile devices | |
US8933965B2 (en) | Method for calculating light source information and generating images combining real and virtual images | |
US10248993B2 (en) | Systems and methods for generating photo-realistic images of virtual garments overlaid on visual images of photographic subjects | |
Portalés et al. | Augmented reality and photogrammetry: A synergy to visualize physical and virtual city environments | |
CN107274469A (zh) | 面向虚拟现实的协同渲染方法 | |
WO2016114930A2 (en) | Systems and methods for augmented reality art creation | |
CN110728755B (zh) | 场景间漫游、模型拓扑创建、场景切换方法及系统 | |
US20100091036A1 (en) | Method and System for Integrating Virtual Entities Within Live Video | |
CN106504073A (zh) | 基于ar虚拟现实技术的待售房屋考察及装修方案竞价系统 | |
CN107995481B (zh) | 一种混合现实的显示方法及装置 | |
Cosco et al. | Augmented touch without visual obtrusion | |
US20180239514A1 (en) | Interactive 3d map with vibrant street view | |
Günther et al. | Aughanded virtuality-the hands in the virtual environment | |
Rauter et al. | Augmenting virtual reality with near real world objects | |
Zerman et al. | User behaviour analysis of volumetric video in augmented reality | |
CN207601427U (zh) | 一种基于虚拟现实混合的仿真实验室 | |
JP7476511B2 (ja) | 画像処理システム、画像処理方法及びプログラム | |
CN110837297B (zh) | 一种信息处理方法和ar设备 | |
JP6679966B2 (ja) | 三次元仮想空間提示システム、三次元仮想空間提示方法及びプログラム | |
Michiels et al. | Interactive augmented omnidirectional video with realistic lighting | |
JP2015170232A (ja) | 情報処理装置、その制御方法、及びプログラム | |
CN206282360U (zh) | 博物馆临时展览规划设计的系统 | |
Vasudevan et al. | A methodology for remote virtual interaction in teleimmersive environments | |
Peternier et al. | Practical design and implementation of a cave system-high quality four walls cave howto |
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 |