2013-05-12 106 views
1

嘿我試着用這個例子來實現WebGL的陰影映射: tutorialWebGL的陰影映射gl.DEPTH_COMPONENT

什麼即時試圖做的是

初始化深度紋理和幀緩存。 用簡單的着色器爲該幀緩衝區繪製一個場景,然後用一個具有深度紋理的紋理框作爲紋理繪製一個新場景,以便使用其他着色器可以看到深度圖。

我認爲我看起來好像colortexture,但不能讓我與depthtexture它的全白。

我把下拉框代碼: source code 最重要的是在 指數HTML webgl_all JS 對象JS

有一些光着色器即時通訊沒有使用目前的文件。

真的希望有人能幫助我。來自丹麥

+0

不是一個實際的答案,但這是我在注意你的代碼時注意到的事情(還沒有完全通過它):1:你似乎每幀都重置統一位置的值,而不是必要的,做一次,然後讓他們成爲。 2:你已經初始化了webGL,只有實驗性的webGL,這使得我無需運行就可以運行(不得不改變它爲webGL,使用firefox 27.0)。進一步的代碼分析可能會隨之而來,如果我找到答案,還會有答案 – Ferdi265 2014-02-11 16:09:25

回答

0

問候這可能有幾個原因:

  • 對於近及遠平面的常見設置,標準化的深度值會高到足以顯示全白的大部分場景,即使它們並不完全相同(請記住,深度紋理的精度至少爲16位,而屏幕輸出的每個顏色通道只有8位,因此深度紋理​​可能全部顯示爲白色,即使它們的值不完全相同)
  • 在一些設置(例如桌面OpenGl)上,一個當紋理不完整時,紋理可能會全白顯示,即紋理過濾設置爲使用mipmap時,但並非所有mipmap級別都已創建。這可能與WebGl相同。
  • 您可能碰到瀏覽器WebGl實施錯誤。