2013-02-17 48 views
0

我想通過Jerome爲他的live sparks editor製作的THREEx.Sparks模塊在我的應用中使用sparks.js。然而,它只適用於包括r50在內的three.js - 之後火花線索永遠不會呈現。three.js中的「紋理單元超出範圍錯誤」中斷應用程序?

我已經提出了一個(略)最小編輯fork所有人玩。總是氣缸被繪製,但我們加緊通過three.js所修訂:

  • R46的作品,但當然是現在很過時
  • R50和R49繪製顆粒預期,但與此WebGL的錯誤:WebGL: INVALID_ENUM: activeTexture: texture unit out of range
  • 開始R51,火花的粒子系統不繪製

的錯誤很可能與如何三個把手不當初始化紋理做。我已將它追趕到_buildDefaultTextureTHREEx.Sparks.js內創建的128x128徑向紋理。

這是一個SO問題(而不是GH bug報告)的原因是,三r51 +顯然得到了正確的錯誤處理 - 他們甚至沒有嘗試不良行爲,因爲這使WebGL成爲一隻傷心的熊貓,而r50無論如何,它只是做了它,並造成了錯誤。我的問題是:

  • 什麼究竟是THREEx.Sparks.js沒有做正確這裏
  • 爲什麼沒有還挺仍然工作之前R51

系統信息:Mozilla的/ 5.0(Macintosh的; Intel Mac OS X 10_8_2)AppleWebKit/537.17(KHTML,如Gecko)Chrome/24.0.1312.57 Safari/537.17 | WebGL 1.0(OpenGL ES 2.0 Chromium)| WebKit | WebKit WebGL | WebGL GLSL ES 1.0(OpenGL ES GLSL ES 1.0 Chromium)

sparksjs-dev在動作中使用r50的屏幕截圖,可供i.stack.imgur.com/p5EfN.png中的觀看樂趣使用(如果尚未拔出),它顯示WebGL調試器中的調用uniform1iactiveTexture

回答

0

我無法爲您調試您的代碼,但我可以肯定地指出您的方向正確。

首先,請參閱Migration Wiki幫助升級到當前版本。

例如,你會看到,在THREEx.Sparks.js,

texture : { type: "t", texture: this._texture } 

現在應該

texture : { type: "t", value: this._texture } 

可能有其他的問題。

我不能評論舊版本的three.js,只有當前版本。

three.js r.55

+0

這條線是踢球者,加上其他一些修補程序,現在在r55工作。我會嘗試提交固定版本作爲拉取請求。謝謝! – user1475135 2013-02-17 10:54:32

相關問題