Jerome がlive sparks editor用に作成した THREEx.Sparks モジュールを介して、自分のアプリで sparks.js を使用しようとしています。ただし、r50 までの three.js でしか機能しません。それ以降は、sparks トレイルがレンダリングされません。
私は、すべてのユーザーが使用できるように、エディターの(ある程度) 最小限のフォークを作成しました。円柱は常に描画されますが、three.js リビジョンをステップアップすると、次のようになります。
- r46 は動作しますが、もちろん現在は非常に時代遅れです
- r50 と r49 は期待どおりにパーティクルを描画しますが、次の WebGL エラーが発生します。
WebGL: INVALID_ENUM: activeTexture: texture unit out of range
- r51 以降、火花のパーティクル システムは描画されません。
このエラーは、THREE が不適切に初期化されたテクスチャを処理する方法に関係している可能性が非常に高いです。_buildDefaultTexture
内部で作成された 128x128 の放射状テクスチャまで追跡しましたTHREEx.Sparks.js
。
これが SO の質問である理由 (および GH のバグ レポートではない) は、3 つの r51+ が明らかに適切なエラー処理を行っているためです。r50 以下では WebGL が悲しいパンダになるため、悪い動作を試みることさえありません。とにかくそれはエラーを引き起こしました。私の質問は:
- ここで正確に何
THREEx.Sparks.js
が正しく行われていないのか - そして、なぜr51より前でも機能していたのですか
システム情報: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (Gecko のような KHTML) Chrome/24.0.1312.57 Safari/537.17 | WebGL 1.0 (OpenGL ES 2.0 クロム) | ウェブキット | WebKit WebGL | WebKit WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 クロム)
uniform1i
i.stack.imgur.com/p5EfN.png (まだプルされていない場合) で閲覧できる r50 を使用して実行中のsparksjs-dev のスクリーンショットactiveTexture
。