0

MAC OS X 10.6でopengl FBOとglutを使用してオフスクリーンレンダリングを使用しています。プログラムには、複数の 3D オブジェクトの移動が含まれます。

オフスクリーン バッファの内容がオンスクリーン バッファにスワップされないオプションを含める必要があることを除いて、プログラムは正常に動作しているようです。したがって、画面には何も表示されません。画面に何も表示されていないときに、プログラムがこのモードで正常に動作しているかどうかを知りたいです。つまり、3D の動きなどは通常どおり正常に動作します。プロセスが個別に実行されているときに、オフスクリーン バッファを読み取って画面上に表示できるユーティリティはありますか。

あるいは、これを達成する他の方法はありますか? これは、FBO を使用してオフスクリーンでレンダリングしている間、オンスクリーン ウィンドウを非表示にすることです。

コメント/提案をお待ちしております。私の質問が明確であることを願っています。

4

2 に答える 2

0

gDEBugger for Macは、追加の作業なしでFBOコンテンツを表示できるはずです。少なくとも、Windowsバージョンでは問題なく表示されます。7日間の試用版が利用可能です。

于 2010-10-05T20:20:39.590 に答える
0

オフスクリーン バッファを共有メモリにコピーします。次に、外部アプリケーションが共有メモリの内容を継続的に読み取り、テクスチャを更新して画面に表示します。

それでおしまい。

オフスクリーン レンダリングでもよく使用しましたが、便利な例はありません。:(

共有メモリの先頭に追加情報を保存することをお勧めします(幅、高さ、ピクセルタイプ、最後の読み取りから画像が変更されたかどうかを知るための増分整数...)。このヘッダーの後に、アプリケーションによって生成されたピクセル データを格納します。このサイズは、実際には幅、高さ、およびピクセル サイズによって異なります。

glReadPixels を使用してピクセル データを格納し、マップされた共有メモリをパラメーターとして渡すこともお勧めします。リモート アプリケーションは、そのデータを使用してテクスチャを更新できます。

于 2010-10-04T11:15:36.390 に答える