2012-07-23 18 views
3

我想用強大的線框線製作網格。當我用雙層材料繪製面,一個用於陰影,第二個用於線(線框)時,我得到這種線條閃爍。 http://jsfiddle.net/jn_09/atTXN/3/我想它直接連接到z-index。那麼這種行爲有沒有解決方案? WebGL接縫以相同的方式工作。雙面閃爍 - z索引戰

這種情況只是谷歌瀏覽器。

非常感謝

回答

0

此問題在GitHub上有關CanvasRenderer提出了許多倍。看起來,當你使用CanvasRenderer時,你的臉部會以不同的攝像角度移動。例如,當您使用某種圖像作爲紋理時 - 當您旋轉對象時,圖像會變形。

看看將陰影面設置爲全透明時會發生什麼:http://jsfiddle.net/EEywu/。他們不再「跳過」你的線框(因爲它們是不可見的)。

現在,這就是WebGL進入遊戲的地方,與您所說的相反,它不會產生相同的效果,至少在默認情況下。不好的部分 - 如果您使用的是Windows,您將無法在WebGL上看到任何線框粗細:http://jsfiddle.net/XQz3g/

所以,我想你的選擇是:使用WebGL的打這件事:或段的升高量,像這樣使用不同的幾何形狀(線架):

var plane = new THREE.PlaneGeometry(300, 300, 4, 4); 

這不僅會爲創建平面2個方面(三角形),但其中32個(4×4×2)。通過這種方式,攝像機角度處的面偏移量將最小,並且您不會注意到任何閃爍。如果你有許多這種由畫布渲染的飛機,這將會殺死你的FPS。

因此,讓我們知道這是否有幫助!