我们正在考虑购买一台3D-ready液晶显示器和一台配备了3D立体视觉图形卡(ATI Radeon 5870或更好)的计算机,用于显示使用OpenGL渲染的某些科学数据的3D效果。
现在我们可以期望GPU、显示器和快门眼镜来处理立体显示,还是需要修改渲染程序?
如果有针对3D立体显示的特定图形编程技术,一些教程链接将非常受欢迎。
从技术上讲,OpenGL为立体显示提供了支持。关键字是“四缓冲区立体”。您可以使用glDrawBuffer(GL_BACK_LEFT); / *渲染左眼视图* /; glDrawBuffer(GL_BACK_RIGHT); / *渲染右眼视图* /;
来切换左右眼渲染。
不幸的是,Quadbuffer立体视图被GPU厂商认为是专业功能。因此,您需要使用NVidia Quadro或AMD / ATI FireGL显卡才能获得支持。
立体渲染不是通过倾斜眼睛完成的,而是通过在投影矩阵中应用“镜头偏移”来完成的。但详细信息有些棘手。我去年做了一个关于它的讲座,但显然我的演示文稿链接失效了。
关键图表如下(它来自我的笔记,是我对Blender进行直接支持立体渲染的补丁)。