2011-08-06 11 views
0

私はFBOにレンダリングし、glReadPixelsを使用してPBOをホストに読み戻す設定があります。glTestFenceNVは常にglReadPixelsでfalseを返します

ステータスを確認するためにFENCE_NV拡張子を使用して、glMapBuffer imでレンダリングスレッドをブロックしないようにするためです。

しかし、glReadPixelsの後にglSetFenceNVを呼び出すと、どれくらい待ってもglTestFenceNVは常にfalseを返します。

一方、glReadPixelsの前にglSetFenceNVを置くと、すべてうまく動作しますが、フェンスはレンダリングの状態を通知し、ホストメモリへの転送は戻さず、glMapBufferはまだブロックされることがあります。

これはなぜこのように動作するのでしょうか?

答えて

0

glReadPixelsの後にglFlushを呼び出さなければならないようですが、そうでない場合は動作しません。

関連する問題