2013-05-07 142 views
1

這幾天,我在GLSL中做了一些着色器,例如Phong,Gourard,甚至是Toon Shader。什麼是立體着色器?

我有一個好奇的問題,我想做一個使用2個攝像頭的立體着色器,左側攝像頭拍攝紅燈,右側攝像頭拍攝青色燈光可以通過在一個攝像頭中使用它們來實現,因此它可以是一個立體着色器。我認爲。

我覺得不對?我想在由2D圖元組成的3D對象中實現。

回答

5

您可能需要渲染場景兩次,一次爲左眼,一次爲右眼。然後你可以將2混合在一起。

一種方法是將每隻眼睛渲染到不同的由紋理支持的FBO,然後將這兩種紋理合併到1中,或者使用自定義着色器,或者甚至使用疊加混合,如果您可以使用正確的顏色渲染每隻眼睛首先。 (如果左眼真的只有紅色通道,右邊只有綠色和藍色通道,我認爲添加劑混合應該做正確的事情。)

0

如果您想要創建anaglyph imagage,使用OpenGL燈光給場面染色是愚蠢的。 可以使用另一個答案中描述的方法,即使用FBO將場景渲染爲紋理,然後將結果組合到着色器中,或者通過在具有調製顏色的glBlendFunc(GL_ONE,GL_ONE)模式下在兩個疊加的四邊形上繪製它們。或者,如果使用紅青色浮雕,則可以使用glColorMask來選擇要寫入的顏色通道。