虚拟现实中立体显示技术研究
时间:11-30
来源:EDN china
点击:
4.2 双缓存区的使用
OpenGL提供双缓存技术,支持两个完整颜色缓存的硬件或软件。绘制一个缓存时,显示另一个缓存中的内容。每绘制好一帧便交换缓存;这样刚才被显示的缓存被用来绘制,而用来绘制的缓存被显示。这样,当显示器刷新时,缓存区进行交换,画面就不会闪烁。
OpenGL也支持立体观察,实现左颜色缓存和右颜色缓存,它们分别用于左立体图像和右立体图像。可在初始化时,分别使用参数 PFD_DOUBLEBUFFER和PFD_STERE-O_DONTCARE支持立体显示和双缓存。使用双缓存时,通常只绘制后缓存,使用函数 glDrawBuffer()还可指定将立体图像渲染到具体的某个缓存。
例如,绘制右眼图像时使用右后缓存区glDrawBuffer(GL_BACK_RIGHT),绘制左眼时使用左后缓冲区glDraw-Buffer(GL_BACK_LEFT)。
4.3 立体图像的观察
使用简单的滤光镜就可观察有立体感的图像。其原理是:由于滤光片(实验中使用红、绿滤光片)吸收其他光线,只让相同颜色的光线通过,因此左、右眼各透过不同颜色的光。当使用滤光镜观察计算机屏幕上的立体图像对时,就会看到具有深度感受的图像。在实验中发现,刷新频率对图像立体效果的形成具有重要作用。刷新频率过低,由于人眼所维持的图像已消失,不能得到三维立体感受;刷新频率过高就会出现一只眼睛可看到两幅图像的现象。将显示的刷新频率设置合适,在程序中设置图像刷新频率设置为50 Hz,利用红绿滤光镜观察模型的立体成像,得到较明显的立体视觉效果。
5 结论
根据立体显示原理,采用双目视差算法对物体进行立体显示,利用OpenGL生成立体图像对,并借助红绿滤光眼镜观察,得到了较好的立体视觉效果。立体显示技术的引入增强了人在虚拟环境中的沉浸感,可广泛应用于建筑物和视景漫游、虚拟战争演练场和各种模拟训练等多种场合。
编辑:吕勇
- Avegant虚拟现实头戴式显示设备如何改变娱乐体验(07-04)
- 好的VR游戏,都需要一套好的交互控制器?(01-24)