本文介绍了OpenGL 渲染可以用于 3D 显示器吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们一直在考虑购买支持 3D 的 LCD 显示器以及配备支持 3D 立体视觉的显卡(ATI Radeon 5870 或更好)的机器.这是用于显示我们使用 OpenGL 以 3D 形式呈现的一些科学数据.现在我们可以指望 GPU、监视器和快门眼镜来处理立体显示还是需要修改渲染程序?如果有用于 3D 立体显示的图形编程的特定技术,将不胜感激一些教程链接.

We have been considering buying a 3D-ready LCD monitor along with a machine with a 3D-stereoscopic vision capable graphics card (ATI Radeon 5870 or better). This is for displaying some scientific data that we are rendering in 3D using OpenGL.Now can we expect the GPU, Monitor and shutter-glasses to take care of the stereoscopic display or do we need to modify the rendering program?If there are specific techniques for graphics programming for 3D stereoscopic displays, some tutorial links will be much appreciated.

推荐答案

从技术上讲,OpenGL 规定了立体显示.关键字是四路缓冲立体声".您可以使用 glDrawBuffer(GL_BACK_LEFT); 切换左右眼渲染./* 渲染左眼视图 */;glDrawBuffer(GL_BACK_RIGHT);/* 渲染右眼视图 */;.

Techically OpenGL provisions for stereoscopic display. The keyword is "Quad Buffered Stereo". You can switch left-right eye rendering with glDrawBuffer(GL_BACK_LEFT); /* render left eye view */; glDrawBuffer(GL_BACK_RIGHT); /* render right eye view */;.

不幸的是,GPU 供应商认为 Quadbuffer 立体声是一项专业功能.因此,您需要 NVidia Quadro 或 AMD/ATI FireGL 显卡才能获得支持.

Unfortunately Quadbuffer stereo is considered a professional feature by GPU vendors. So you need either a NVidia Quadro or a AMD/ATI FireGL graphics card to get support for it.

立体渲染不是通过倾斜眼睛来完成的,而是通过在投影矩阵中应用镜头移位"来完成的.不过,细节有点棘手.去年我曾讨论过这个问题,但显然与我的演示幻灯片的链接已断开.

Stereoscopic rendering is not done by tilting the eyes, but by applying a "lens shift" in the projection matrix. The details are a bit tricky, though. I did a talk last year about it, but apparently the link with my presentation slides went down.

关键图是这个(来自我对Blender的patch笔记,直接支持立体渲染)

The key diagram is this one (it's from my notes of my patch to Blender to directly support stereoscopic rendering)

这篇关于OpenGL 渲染可以用于 3D 显示器吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 00:39