1

WebGL2 には、ArrayBufferこれらのバッファー内でオフセットと長さを渡すことができる s を受け入れるほとんどの既存の関数の追加バージョンがあります。おそらく、これにより、一時的なビューを作成せずに WebAssembly メモリからデータを簡単に渡すことができるはずですが、落とし穴があります。これらの関数は のみを受け入れArrayBufferViewます。

  1. そのような制限の理由は何ですか?バイトを GPU にコピーする関数が、Uint8/Int32/Float32 などのセマンティクスを気にする必要があるのはなぜですか?
  2. DataView毎回作成せずにそれを回避するにはどうすればよいですか (そもそもこれらの関数を使用する目的を完全に無効にすることになります) WebAssembly メモリはそのバッファを再割り当てでき、メモリ サイズ変更のコールバックを設定する方法がないため、DataView を一度作成しても機能しません。
4

1 に答える 1