[发明专利]面向GeoGlobe的真三维立体显示方法有效
申请号: | 200910027128.6 | 申请日: | 2009-05-22 |
公开(公告)号: | CN101561936A | 公开(公告)日: | 2009-10-21 |
发明(设计)人: | 闾国年;周良辰;温永宁;盛业华;吴明光 | 申请(专利权)人: | 南京师范大学 |
主分类号: | G06T15/00 | 分类号: | G06T15/00;G09G5/00 |
代理公司: | 南京知识律师事务所 | 代理人: | 樊文红 |
地址: | 210097*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 geoglobe 三维立体 显示 方法 | ||
技术领域
本发明涉及三维可视化技术领域,具体涉及一种面向GeoGlobe的真三维立体显示方法。
背景技术
随着计算机技术的发展,立体显示已经成为环境仿真、模拟训练以及规划设计等领域常用的技术手段,甚至开始与电影、电脑游戏等结合产生立体电影和真三维游戏融入人们的日常生活。虚拟地球软件作为一种重要的三位应用系统,以期丰富的数据,友好的用户体验受到了广泛的关注,GeoGlobe软件就是其中之一。
在三维应用中实现立体视觉是一种潮流,在单一显示设备上观察到立体景物,需要将左、右眼所看到的影像各自独立分开,然后通过特定的外置设备使左右眼看到不同的影像而通过大脑的生理作用形成立体视觉。传统的立体显示需要专业的设备进行立体显示,包括支持左右缓存的显卡和支持双通道显示的立体显示设备。基于上述技术,产生了广为流行的虚拟现实技术,在机器仿真、战场模拟等领域得到了广泛的应用。但是,由于需要专业设备,成本高昂,也限制了立体显示技术的应用,所以立体显示的应用不能得到推广,大量的三维程序还是采用单通道技术进行显示,缺乏立体感,失去了三维程序应有的立体显示特性。同时,由于立体显示需要专门硬件,特殊的编程技巧,也造成了大量的程序在开发时没有考虑立体显示特性,没有在程序中实现支持立体显示的功能,使得这些程序即使在有立体显示功能的硬件上也不能显示立体。这些程序占据了现在三维显示程序的绝大部分,GeoGlobe也没有突破上述限制,其在建模过程中,用户还是只能看到单通道的透视三维,不能实现真三维的立体显示,不能达到最佳的应用效果。
发明内容
本发明所要解决的问题在于克服GeoGlobe软件在三维显示中存在的不足,实现对原软件不加修改的真三维立体显示。本发明的核心是利用三维渲染的基本原理,通过拦截显卡结果帧图像中颜色数据和深度数据,解析生成结果帧图像的投影变换矩阵,应用三维渲染的基本原理以及重构栅格化的三维场景,在此场景基础上,应用立体视觉原理,生成立体像对,基于不同的立体显示模式,驱动显卡进行立体输出。
本发明依赖的技术基础是计算机图形学中关于三维渲染的基本模型,即GeoGlobe使用的3D API(Direct 3D)(当前在Windows下GeoGlobe使用Direct 3D)的三维渲染的基本模型,包括三维渲染流水线、顶点的变换流水线、Z缓冲区算法等。实现依据是Direct3D API和显卡,两者均是基于该基本模型进行工作的。本发明在不更改GeoGlobe源代码、二进制代码或计算机硬件结构的情况下,使该计算机软件实现双目视觉的立体真三维显示与观测。
计算机三维显示的基本原理是将三维场景经过几何变换和光照处理以及栅格化之后,生成一幅二维栅格图像在输出设备上输出。三维场景中包含一系列的三维对象,三维对象是由一系列顶点构成的几何图元(包括点,线和三角形)组合而成。顶点是一个包含三维空间位置及其对应的渲染参数的坐标点。首先对顶点数据进行透视坐标变换和光照处理。在坐标变换阶段,描述物体几何形状的顶点被变换到视点为中心的坐标系下,再进行光照计算确定每个顶点应该具有的颜色和亮度。计算机图形学的基本显示单元是像素,这些几何对象被栅格化成像素,最后这些像素被送到帧缓存中等待显示,如图2所示。
在三维图形渲染中存在着一系列的坐标变换,最后将物体本身的坐标变换成二维屏幕上的像素坐标。这些坐标变换都是将上一步变换结果作为输出的,构成一个顶点坐标变换的流水线,如图3所示。所有三维对象的坐标均被统一到了同一个坐标系下,经过投影和裁剪形成规格化的坐标,通过栅格化变换形成图像像素。
Z缓冲区算法又称深度缓冲算法。由于二维平面坐标在透视投影下可以对应无限多个三维坐标。所以栅格化的几何对象包含了每个像素对应的到视点称为深度值的参数,如果栅格化几何对象像素的深度值小于原来像素,就用这个像素的值代替原来位置的值,这就保证了总是距离视点最近的像素被保存下来。
针对以上原理,实现本发明目的的技术方案是:
面向GeoGlobe的真三维立体显示方法,该方法包括以下步骤:
步骤(1)针对GeoGlobe使用的3D API进行监控与渲染数据拦截;
步骤(2)利用场景变换矩阵和投影变换矩阵重构栅格化的三维数据;
步骤(3)自适应屏幕分辨率和人的眼基距设定两个不同的视点位置并生成立体像对;
步骤(4)针对不同的立体观察设备进行真三维观测。
本发明的方法具体可用下列步骤实现,下列步骤不分先后:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京师范大学,未经南京师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910027128.6/2.html,转载请声明来源钻瓜专利网。