問題タブ [glteximage2d]

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 に答える
358 参照

opengl - image2D/Computeshader を使用した TextureArray

現在、複数のテクスチャを Computeshader にバインドしようとしています。限られた量のイメージ ユナイトしか利用できないため、TextureArrayより少ないバインディングでより多くのテクスチャを実行できるという利点を利用して をバインドすることを考えました。私の知る限りTextureArrays、Sampler でのみ入力できますsampler2DArrays。ただし、使用できるように画像を使用していますimageLoad()/imageStore()TextureArrays使用する回避策はありますか、image2Dまたはのような他の方法を使用する必要がありTexture Atlasesますか?

0 投票する
2 に答える
1003 参照

webgl2 - シェーダー プログラム間でデータを渡す

わかりました、これをできるだけシンプルに保ちます。シェーダー プログラム間でデータを渡したい。私は現在 readPixels を使用してそれを行っていますが、操作が遅くなる可能性があると感じており、より高速なオプションを検討しています。

私のプログラムは何をしますか:

  1. program1 がキャンバスへのレンダリングを行います。
  2. program2 は、program1 に渡したいシェーダーでいくつかの素晴らしい操作を行います。

私の質問:

  1. program2 の vbo を使用して、それを program1 に渡してレンダリングすることは可能ですか? 以下のリンクからわかるように、コンテキスト間でデータを共有することはできません。つまり、あるバッファーのデータを別のバッファーに使用することはできません。しかし、多分私は何かを見逃しています。
  2. この記事で言及されている方法は、キャンバスにレンダリングし、texImage2D を使用して program1 を更新することで、私が探していることを実行すると思います (ある WebGLRenderingContext から別のフレームバッファー データをコピーしますか? )。私は正しいですか?もしそうなら、これは readPixels を使用するよりも高速でしょうか? (texImage2Dの使用がほぼ同じであれば気にしないのでお願いします)。

答えてくれた人に前もって感謝します。