CN105491366A - 基于osg的裸眼3d交互方法 - Google Patents
基于osg的裸眼3d交互方法 Download PDFInfo
- Publication number
- CN105491366A CN105491366A CN201510908854.4A CN201510908854A CN105491366A CN 105491366 A CN105491366 A CN 105491366A CN 201510908854 A CN201510908854 A CN 201510908854A CN 105491366 A CN105491366 A CN 105491366A
- Authority
- CN
- China
- Prior art keywords
- osg
- bore hole
- rendering
- naked
- eye
- 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)
Abstract
本发明公开了一种基于OSG的裸眼3D交互方法,采用OSG开发3D场景,虚拟出多个具有视差的3D图像;利用基于OpenGL的裸眼3D合成算法嵌入到OSG中将所述多个具有视差的3D图像合成;将OSG普通3D图像输出修改成为裸眼3D合成图像输出,并调节相机参数,用于最终合成裸眼3D图像的测试或效果调整。本发明增强了OSG在虚拟交互时的沉浸感、体验感和刺激感,将裸眼3D与工业仿真、数字城市等领域广泛使用的OSG技术相结合,扩大了裸眼3D显示的应用范围。
Description
技术领域
本发明涉及裸眼3D显示技术领域,具体涉及一种基于OSG的裸眼3D交互方法。
背景技术
裸眼3D显示技术,是不需要佩戴辅助设备(如眼镜或者头盔等)的一种显示技术,它在航空航天、军事、医学、广告设计和娱乐互动等领域有着广泛的应用。
OSG,全称OpenSceneGraph,使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API),它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。它作为中间件(middleware)为应用软件提供了各种高级渲染特性,IO,以及空间结构组织函数;而更低层次的OpenGL硬件抽象层(HAL)实现了底层硬件显示的驱动。
发明内容
本发明克服了现有技术的不足,提供一种基于OSG的裸眼3D交互方法,用于增强OSG在虚拟交互时的沉浸感和体验感。
考虑到现有技术的上述问题,根据本发明公开的一个方面,本发明采用以下技术方案:
一种基于OSG的裸眼3D交互方法,它包括:
采用OSG开发3D场景,虚拟出多个具有视差的3D图像;
利用基于OpenGL的裸眼3D合成算法嵌入到OSG中将所述多个具有视差的3D图像合成;
将OSG普通3D图像输出修改成为裸眼3D合成图像输出,并调节相机参数,用于最终合成裸眼3D图像的测试或效果调整。
为了更好地实现本发明,进一步的技术方案是:
根据本发明的一个实施方案,它包括以下步骤:
第一步,初始化OSG配置,利用CMake工具将OSG源码生成可用的调用OSG库所需的相关文件,同时进行环境变量的设置;
第二步,创建OSG项目,加载资源文件至项目中,基于OSG进行3D场景的开发;
第三步,创建viewer,以及分别创建SceneCamera和DisPlayCamera并将其加载到viewer中,由SceneCamera虚拟出多个具有视差的普通3D图像;
第四步,将SceneCamera虚拟出的多个具有视差的普通3D图像存于buffer内;
第五步,利用OpenGLAPI函数,编写裸眼3D合成算法,获取多个具有视差的3D图像buffer;
第六步,将裸眼3D算法合成的裸眼3D图像输出到DisPlayCamera上;
第七步,将裸眼3D图像输出相机DisPlayCamera加载到viewer内,并且设置为主要输出相机;
第八步,裸眼3D显示终端调试,以确保裸眼3D的图像效果达到最佳。
本发明还可以是:
根据本发明的另一个实施方案,所述相机参数包括相机间距和相机焦距。
与现有技术相比,本发明的有益效果之一是:
本发明的一种基于OSG的裸眼3D交互方法,通过虚拟多个具有视差的摄像机获得视差图像,利用裸眼3D算法合成最终输出到裸眼3D显示终端,增强了OSG在虚拟交互时的沉浸感、体验感和刺激感,将裸眼3D与工业仿真、数字城市等领域广泛使用的OSG技术相结合,进一步扩大了裸眼3D显示的应用范围。
附图说明
为了更清楚的说明本申请文件实施例或现有技术中的技术方案,下面将对实施例或现有技术的描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅是对本申请文件中一些实施例的参考,对于本领域技术人员来讲,在不付出创造性劳动的情况下,还可以根据这些附图得到其它的附图。
图1示出了根据本发明一个实施例的基于OSG的裸眼3D交互方法的流程示意图。
图2示出了本发明的另一个示意图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
本发明解决上述技术问题所采用的技术方案是:创建虚拟摄像机虚拟多个具有视差的普通3D图像;基于OpenGL裸眼3D图像合成算法;修改OSG普通3D图像输出为裸眼3D输出;通过调整相机间距和焦距两个参数在裸眼3D显示终端上进行不断测试效果。
一种基于OSG的裸眼3D交互方法,包括:基于OSG的普通3D场景搭建;,分别创建SceneCamera和DisPlayCamera分别为普通3D摄像机和最终裸眼3D输出摄像机;根据SceneCamera虚拟多个具有视差的场景3D图像;调用OpenGLAPI,编写裸眼3D合成图像算法,设置相应的裸眼3D参数;输出裸眼3D合成图像到裸眼3D显示终端。
下面结合附图及实施例对本发明的方案作更进一步的描述:
如图1所示,本例中的实现裸眼3D动画实时制作的方法包括以下步骤:
第一步,初始化OSG配置。利用CMake工具将OSG源码生成可用的调用OSG库所需的相关文件,同时进行环境变量等设置。
第二步,创建OSG项目,加载贴图、模型等资源文件。
第三步,基于OSG开发主要3D场景。建立OSG项目,进行相关的OSG项目配置。然后加载相应的贴图、模型至资源文件到项目中,基于OSG进行3D场景的开发。
第三步,创建viewer,同时分别创建SceneCamera和DisPlayCamera,加载到viewer中。为了虚拟多个具有视差的摄像机和区分裸眼3D输出图像和普通3D输出图像,分别创建SceneCamera和DisPlayCamera,后者作为裸眼3D输出图像。
第四步,由SceneCamera虚拟出多个具有视差的普通3D图像,存于buffer内,同时相机间距和焦距的参数设置为m和n。
如图2所示,m为相机间距,n为相机的焦距。参数在程序运行时可以进行调整,用于最终合成裸眼3D图像的测试和效果调整。
第五步,获取多个具有视差的3D图像buffer,利用OpenGLAPI函数,编写裸眼3D合成算法。多个具有视差的3D图像buffer来自第四步SceneCamera中生成的buffer。
第六步,将裸眼3D算法合成的裸眼3D图像输出到DisPlayCamera上。将OSG的普通3D输出Camera替换为已经设置好的裸眼3D图像输出相机DisPlayCamera,即把DisPlayCamera加载到viewer中并设置为主输出Camera。同时,DisPlayCamera为图像进行输出的载体。
第七步,将D将OSG普通3D图像的输出窗口设置裸眼3D图像输出。裸眼3D图像输出相机DisPlayCamera加载到viewer内,并且设置为主要输出相机。同时,从SceneCamera到DisPlayCamera的输出均是单向进行的,因此最终的输出图像不会对OSG普通3D场景产生其他影响。
第八步,裸眼3D显示终端调试。不同尺寸和参数的裸眼3D显示终端在显示时会有所差异。通过不断调整机间距和焦距的参数m和n,观察裸眼3D显示终端上的实际效果,并且不断调整零平面和焦距的参数以达到最佳观看效果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分相互参见即可。
在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”、等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
Claims (3)
1.一种基于OSG的裸眼3D交互方法,其特征在于它包括:
采用OSG开发3D场景,虚拟出多个具有视差的3D图像;
利用基于OpenGL的裸眼3D合成算法嵌入到OSG中将所述多个具有视差的3D图像合成;
将OSG普通3D图像输出修改成为裸眼3D合成图像输出,并调节相机参数,用于最终合成裸眼3D图像的测试或效果调整。
2.根据权利要求1所述的基于OSG的裸眼3D交互方法,其特征在于它包括以下步骤:
第一步,初始化OSG配置,利用CMake工具将OSG源码生成可用的调用OSG库所需的相关文件,同时进行环境变量的设置;
第二步,创建OSG项目,加载资源文件至项目中,基于OSG进行3D场景的开发;
第三步,创建viewer,以及分别创建SceneCamera和DisPlayCamera并将其加载到viewer中,由SceneCamera虚拟出多个具有视差的普通3D图像;
第四步,将SceneCamera虚拟出的多个具有视差的普通3D图像存于buffer内;
第五步,利用OpenGLAPI函数,编写裸眼3D合成算法,获取多个具有视差的3D图像buffer;
第六步,将裸眼3D算法合成的裸眼3D图像输出到DisPlayCamera上;
第七步,将裸眼3D图像输出相机DisPlayCamera加载到viewer内,并且设置为主要输出相机;
第八步,裸眼3D显示终端调试,以确保裸眼3D的图像效果达到最佳。
3.根据权利要求1所述的基于OSG的裸眼3D交互方法,其特征在于所述相机参数包括相机间距和相机焦距。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510908854.4A CN105491366B (zh) | 2015-12-09 | 2015-12-09 | 基于osg的裸眼3d交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510908854.4A CN105491366B (zh) | 2015-12-09 | 2015-12-09 | 基于osg的裸眼3d交互方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105491366A true CN105491366A (zh) | 2016-04-13 |
CN105491366B CN105491366B (zh) | 2017-07-28 |
Family
ID=55678040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510908854.4A Active CN105491366B (zh) | 2015-12-09 | 2015-12-09 | 基于osg的裸眼3d交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105491366B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093504A (zh) * | 2012-12-31 | 2013-05-08 | 上海师范大学 | 一种立体影像生成方法 |
CN103636200A (zh) * | 2011-06-20 | 2014-03-12 | 松下电器产业株式会社 | 多视点图像生成装置、多视点图像生成方法 |
CN103957400A (zh) * | 2014-05-09 | 2014-07-30 | 北京乐成光视科技发展有限公司 | 一种基于Unity3D游戏引擎的裸眼3D显示系统 |
CN104702936A (zh) * | 2015-03-31 | 2015-06-10 | 王子强 | 一种基于裸眼3d显示的虚拟现实交互方法 |
CN104933758A (zh) * | 2015-05-20 | 2015-09-23 | 北京控制工程研究所 | 一种基于osg三维引擎的空间相机三维成像仿真方法 |
-
2015
- 2015-12-09 CN CN201510908854.4A patent/CN105491366B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103636200A (zh) * | 2011-06-20 | 2014-03-12 | 松下电器产业株式会社 | 多视点图像生成装置、多视点图像生成方法 |
CN103093504A (zh) * | 2012-12-31 | 2013-05-08 | 上海师范大学 | 一种立体影像生成方法 |
CN103957400A (zh) * | 2014-05-09 | 2014-07-30 | 北京乐成光视科技发展有限公司 | 一种基于Unity3D游戏引擎的裸眼3D显示系统 |
CN104702936A (zh) * | 2015-03-31 | 2015-06-10 | 王子强 | 一种基于裸眼3d显示的虚拟现实交互方法 |
CN104933758A (zh) * | 2015-05-20 | 2015-09-23 | 北京控制工程研究所 | 一种基于osg三维引擎的空间相机三维成像仿真方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105491366B (zh) | 2017-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210028240A (ko) | 디스플레이 처리 회로 | |
US20130278600A1 (en) | Rendering interactive photorealistic 3d model representations | |
CN102122502B (zh) | 一种三维字体显示方法以及相关装置 | |
CN102169596B (zh) | 一种在嵌入式设备上实现3d渲染的方法及装置 | |
CN102411791B (zh) | 一种静止图像动态化的方法和设备 | |
CN105528207A (zh) | 一种虚拟现实系统及其中显示安卓应用图像的方法和装置 | |
CN104765594B (zh) | 一种显示图形用户界面的方法及装置 | |
TW202201350A (zh) | 用於增強現實的多層重投影技術 | |
CN102819855B (zh) | 二维图像的生成方法及装置 | |
US20160125649A1 (en) | Rendering apparatus and rendering method | |
CN107924560A (zh) | 基于锚定帧修改多帧图像的方法和装置 | |
CN116091329B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN103607581A (zh) | 基于三维图像视频监控图像显示方法 | |
CN105578172B (zh) | 基于Unity3D引擎的裸眼3D视频显示方法 | |
KR20230155615A (ko) | 이기종 클라이언트 종단점에 대한 스트리밍을 위한 2d 비디오의 적응 | |
CN107426601B (zh) | 一种智能电视中ui控件的显示方法及装置 | |
CN106909263A (zh) | 三维图像的交互展示方法及系统 | |
CN105491366A (zh) | 基于osg的裸眼3d交互方法 | |
KR102710613B1 (ko) | 포비에이티드 렌더링을 이용한 원근 보정 벡터 그래픽 | |
CN106547557A (zh) | 一种基于虚拟现实和裸眼3d的多屏互动交互方法 | |
US20220108420A1 (en) | Method and system of efficient image rendering for near-eye light field displays | |
CN104361011A (zh) | 一种动态显示颜色的实现方法和装置 | |
US10521938B1 (en) | System and method for smoothing computer animation curves | |
KR101227183B1 (ko) | 3d 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법 | |
EP2831836A1 (en) | Flexible defocus blur for stochastic rasterization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |