0

Qt ベースのアプリケーションで、2 つのテクスチャ (両方とも 1000x1000 ピクセル)でフラグメント シェーダを実行したいと考えています。

長方形を描くと、フラグメント シェーダーが正常に動作します。

しかし、出力をGL_AUX0フレームバッファにレンダリングして、結果を読み戻してファイルに保存したいと考えています。

残念ながら、ウィンドウ サイズが 1000x1000 ピクセル未満の場合、出力は正しくありません。ウィンドウ サイズの領域だけがフレーム バッファーにレンダリングされます。

テクスチャ全体のフレーム バッファを実行するにはどうすればよいですか?

4

1 に答える 1

1

オフスクリーン処理を行うための推奨される方法は、フレームバッファオブジェクト(FBO)を使用することです。これらのバッファは、すでに知っているレンダリングバッファと同様に機能しますが、ウィンドウの解像度や色深度による制約を受けません。GPGPUフレームバッファオブジェクトクラスを使用して、低レベルのOpenGLコマンドを非表示にし、FBOをすぐに使用できます。自分でこれを行う場合は、拡張機能の仕様を参照してください。

于 2009-09-27T17:12:01.550 に答える