7

レンダリング コードの大部分をリファクタリングすることを検討していますが、1 つの疑問が頭に浮かびました: フレーム バッファ オブジェクトで複数の色のアタッチメントを使用して、画面とテクスチャの両方にレンダリングすることは可能ですか? 多くの有用なアプリケーションがあるにもかかわらず、これが可能かどうかについての情報は見つかりません。私のテクスチャをカラーのアタッチメント 0 とレンダーバッファ 0 としてアタッチメント 1 にバインドするだけで十分だと思いますか?

たとえば、3D モデルに「描画」できるインタラクティブなアプリケーションを作成したいと考えています。UV 座標をテクスチャにレンダリングすることで、ユーザーが描画する場所を解決します。これにより、テクスチャを変更する場所のマウス座標を調べることができます。私の場合、UV をテクスチャに描画し、実際のテクスチャを画面に 1 つのパスで描画するシェーダーを使用するのが最も高速です。

これを行うためのより良い方法はありますか、それとも正しい軌道に乗っていますか?

4

1 に答える 1

6

OpenGL には「デフォルトのレンダバッファ」というものはありません。予約名ゼロのデフォルトフレーム バッファが提供されるウィンドウ システムがありますが、これは基本的に「FBO が有効になっていない」ことを意味します。残念ながら、通常の OpenGL には、カラー バッファを他の FBO へのカラー アタッチメントとして使用する方法がありません。この機能を提供できる可能性のある拡張機能は知りません。

レンダー バッファーには予約済みの名前 zero もありますが、これは特別な "none" 変数にすぎず、レンダー バッファーのバインドを解除できます。

于 2011-01-24T12:23:21.920 に答える