問題タブ [webgl2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
665 参照

webgl2 - WebGL2 でガンマ補正ワークフローをどのように実装しますか?

WebGL2 で sRGB テクスチャを利用するのに問題があります。テクスチャを読み込んでフルスクリーン クワッドとして表示しようとしていますが、画像が正しく表示されません (暗すぎます)。

テクスチャの読み込みコードは次のとおりです。

おそらくフレームバッファのエンコーディングに関係していると思いますが、WebGL で glEnable(GL_FRAMEBUFFER_SRGB) に相当するものを見ました。

0 投票する
1 に答える
163 参照

javascript - WebAsembly メモリを WebGL2 に渡す

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

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