1

「既存の」Webgl画面(S2と呼びます)を使用しようとしています-THREE.jsに移行したくないロジック-いくつかのTHREE.jsベース(R47 ) 画面 (S1 と呼びます)。

私が成功した唯一のことは、S1 と S2 を 2 つの別個のキャンバス インスタンス (2 つの別個の WebGl コンテキスト インスタンスを使用) にレンダリングし、結果をオーバーレイすることでした: http://www.wothke.ch/webglTests/MixWebGlTest.htm

他のさまざまなアプローチは機能しませんでした: - 最初に、S2 を別のフレームバッファ (画面ではなく) にレンダリングさせ、次にそれぞれのテクスチャを S1 で直接使用しようとしました。(wavefront.js ファイルの initTextureFramebuffer(w, h) を参照してください。)

  • それが失敗したとき、S2がデータを出力した別のキャンバスからS1にデータを取得させようとしました。(scrolltext.js の getTextureFromCanvas (ctx, c) を参照) - このロジックは (単純なオーバーレイに加えて) 上記のバージョンでもアクティブですが、中央の立方体に見られるように、テクスチャは実際には間違ったキャンバス..)

  • 同じ gl インスタンスを使用する (つまり、THREE.js によって作成されたものを再利用する) か、別のインスタンスを使用する実験は成功しませんでした。共有インスタンスが使用されるとすぐに、THREE.js がプレーン WebGL ロジックによってセットアップされたものを破損するという印象を受けました..

S1 で使用できる正しいテクスチャを S2 から取得するにはどうすればよいですか?

4

0 に答える 0