1

MAC OS X マシンで、FBO、デプス RBO、およびテクスチャ RBO を freeglut と共に使用して、3D シーンを FBO にレンダリングし、テクスチャへのレンダリングを実行しています。すべて標準の glut 関数と最後に glutMainLoop を使用します。

FBOから読み取るためにglReadPixelsを使用しています。ピクセルが正しく読み取られていることがわかります。

ただし、glutHideWindow を使用して glut ウィンドウを非表示にすると、glReadPixels によって返されるバッファ全体がクリア カラー (ff 00 00 00) に設定されていることがわかります。私は他に何も変えません。ウィンドウが非表示の場合、FBOはまったくレンダリングされていないと思います。これを変更するにはどうすればよいですか?これは MAC OS X で確認されています。コードを確認したい場合はお知らせください。

4

1 に答える 1

1

ウィンドウを覆うことができないか、バッファが更新されません。解決策は、オフスクリーン バッファにレンダリングすることです (カードがサポートしている場合)。それ以外の場合は、ウィンドウを他のウィンドウの上に保持します。そうしないと、バッファーが無効になります。

編集 : これは、opengl ではなく、ウィンドウ システムに関係しています。

于 2010-10-26T13:13:50.773 に答える