問題タブ [off-screen]

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 投票する
0 に答える
1616 参照

ios - 金属を使用した iOS の Render-to-Texture でレンダー テクスチャが更新されない

フラグメント シェーダを使用してオフスクリーン テクスチャにレンダリングしたいと考えています。これが完了したら、その結果を別のフラグメント シェーダーの入力として使用したいと考えています。

テクスチャを作成し、赤でクリアします (設定されていることを確認するため)。ターゲット テクスチャに接続されているレンダー パスを使用して描画します。次に、blit コマンド エンコーダーを使用して、そのターゲット テクスチャの内容をバッファーに転送します。バッファには赤が含まれているため、テクスチャを正しく読み取っていることはわかっていますが、描画によってテクスチャが緑になるはずなので、何か問題があります。

描画のために私はこれを行います:

頂点シェーダーは次のとおりです。テクスチャの UV レイアウトをダンプする OpenGL 頂点シェーダーに基づいています。

ブリット コピーの結果としていっぱいになるバッファは、緑のはずなのに赤くなっています。これは、bakeTexture がフラグメント シェーダーに書き込まれていないか、書き込まれていることを意味しているようですが、コピーを行っているときにコンテンツを利用できるようにするための同期が失われています。