2

GPU メモリから WebGL の CPU にテクスチャをコピーするにはどうすればよいですか? 実行時に texSubImage2D を使用してテクスチャを更新しています。

私は避けたい:

  • テクスチャのコピーをキャンバスに保存する
  • テクスチャへのレンダリングと readPixels の呼び出し

他に方法はありますか?

すでにこれらを読んでいます (実行中に更新されないテクスチャに役立ちます):

4

2 に答える 2

4

テクスチャを FBO にアタッチして readPixels を実行する以外に方法はありません。

于 2012-07-31T21:09:31.677 に答える
1

readPixels または (readPixels は少し遅くなる傾向があるため) キャンバスのサイズの 4 分の 1 にレンダリングできます。

var img = canvas.toDataURL("image/png");

そのテクスチャは img 変数になります。それが機能するには、次のようなものでglを初期化する必要があります

gl = canvas.getContext("experimental-webgl", {preserveDrawingBuffer: true});
于 2012-08-01T13:20:49.833 に答える