1

フラグメント シェーダーに問題があります。これが私の状況です。

中央に壁 ("GL.GL_QUADS" を使用) を表す単純な 2D 正方形がある 3D シーンがあります。関数「glu.gluLookAt」を使って仮想カメラを動かします。

壁から仮想カメラまでの距離に応じて壁の色を基本的に変更する単純なフラグメント シェーダーを壁に実装しました (dFdx と dFdy を使用)。

問題は、壁のシェーダーの出力を視覚化する代わりに、出力をバッファーまたはテクスチャーに保存したいということです。

「gl.glBindFramebufferEXT」で試してみましたが、この場合、壁を参照するシェーダーの出力だけでなく、仮想シーンのレンダリング全体が出力されました。

では、レンダリングされたすべてのシーンを「抽出」せずに、GL_QUADS を参照するフラグメント シェーダーの出力のみを「抽出」するにはどうすればよいでしょうか?

4

1 に答える 1

2

オルソ プロジェクションを設定し、FBO に必要なクワッド (または画面に合わせたクワッド) のみをレンダリングする必要があります。次に、FBO のコンテンツをテクスチャとしてバインドしてシーンをレンダリングします。

于 2012-06-27T14:40:20.767 に答える