2011-09-20 84 views
7

我們一直在考慮購買3D立體液晶顯示器以及具有3D立體視覺功能的圖形卡(ATI Radeon 5870或更高版本)的機器。這是爲了顯示我們使用OpenGL在3D中渲染的一些科學數據。 現在我們可以期待GPU,顯示器和快門眼鏡能夠照顧立體顯示,還是我們需要修改渲染程序? 如果有3D立體顯示器的圖形編程的特定技術,一些教程鏈接將非常感謝。OpenGL渲染可以用於3D顯示器嗎?

回答

9

技術上用於立體顯示的OpenGL規定。關鍵字是「Quad Buffered Stereo」。您可以使用glDrawBuffer(GL_BACK_LEFT); /* render left eye view */; glDrawBuffer(GL_BACK_RIGHT); /* render right eye view */;切換左右眼渲染。

不幸的是,Quadbuffer立體聲被GPU供應商視爲專業功能。所以你需要NVidia Quadro或者AMD/ATI FireGL顯卡來獲得它的支持。

立體渲染不是通過傾斜眼睛,而是通過在投影矩陣中應用「透鏡移位」來完成的。雖然細節有點棘手。去年我曾就此進行過一次演講,但顯然與演示幻燈片的鏈接有所下降。

關鍵圖是這樣的一個(它從我的我的補丁的筆記對攪拌機直接支持立體渲染) Stereoscopy parameters

+0

這是非常有用的信息。 Radeon HD5870規格:「3D立體顯示/眼鏡支持」令我困惑。在linux上搜索opengl四緩衝區後,我懷疑這可能甚至不可能在Linux上。另一方面[this](http://www.gali-3d.com/archive/articles/StereoOpenGL/StereoscopicOpenGLTutorial.php)講述了一些不使用四緩衝區的方式來顯示立體聲的方法。任何想法,如果這可能在消費級GPU上? – subhacom

+0

渲染緩衝區怎麼樣?如何將它們與顯示器同步交換?這種情況唯一的解決方案是使用2臺投影儀? – Luca

+0

@Luca Piccioni:Quadbuffer立體聲代表交換/快門工作給駕駛員;在自己的代碼中同步到快門是可能的,但不可靠。 – datenwolf