GLSLシェーダーでOpenGLを使用して、画像処理を行っています。私は基本的に、正射投影でフレームバッファを使用して、画像を複数回レンダリングしています(フラグメントシェーダの設定はそれぞれ異なります)。
次に、テクスチャがアタッチされた 2 つのフレームバッファがあり、その間で前後にレンダリングします (たとえば、tex1 は fb1 にアタッチされ、tex2 は fb2 にアタッチされます。最初のパスは入力テクスチャを fb1 にレンダリングし、2 番目のパスは tex1 を fb2 にレンダリングし、3 番目のパスは tex1 を fb2 にレンダリングします。 tex2 を fb1 にレンダリングします... 前後に) 最終パスが任意のテクスチャから出力フレームバッファにレンダリングされるまで。
これはすべて、正投影を使用して行われるため、画像が欠落することはありません。ウィンドウのサイズが変更されるまで、これはすべて正常に機能します。ウィンドウの高さを半分に減らすと、画像は残っているウィンドウの上半分にのみ描画されます (これは 1 回のパス、2 回のパスで、ウィンドウの上 1/4 にのみ表示されます) )。なぜこれが起こっているのか誰にも理解できますか?
2 番目の写真は、ウィンドウのサイズを元の高さの 3/4 に変更した後です。
http://i567.photobucket.com/albums/ss112/davidc538/rtip1.png
http://i567.photobucket.com/albums/ss112/davidc538/rtip2.png