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