2014-02-19 28 views

回答

1

正如本文中所解釋的Calculating Stereo Pairs,我必須改變focalLength,eyeSep,eyeSepOnProjection以達到預期的效果,操縱這些變量中的一個來改變3D視覺上的深度。

2

你不需要陰影的陰影。您只需爲每隻眼睛呈現兩次場景。對於左邊你只渲染爲紅色,右邊只有綠色和藍色。這很容易用gl中的顏色寫入掩碼來完成。通過爲這兩個通道使用不同的相機矩陣來控制3D效果。通過改變他們的效果會改變。無需觸摸着色器。 http://en.wikipedia.org/wiki/Anaglyph_3D

要改變物體的視距 - 在屏幕後面或屏幕之後 - 取決於你如何設置兩個相機以及兩隻眼睛如何看屏幕。所以如果你讓兩臺相機相互靠近,它們會更「彈出」。

1

在AnaglyphEffect.js中,變量focalLength表示目標在屏幕平面上看起來的距離,並且在125處被定義。其他物體將看起來在屏幕後面。眼球分離從焦距定義爲可以進一步看到:

var eyeSep = focalLength/30 * 0.5; 
var eyeSepOnProjection = eyeSep * _near/focalLength; 

焦距可以被添加作爲在主函數的參數,因此它可以被訪問和直接從主腳本修改:

​​