OpenGL で 2D オブジェクトの色を選択するために別のフレームバッファ オブジェクトを使用しています。フレームバッファにのみ描画し、必要に応じて色を読み取ることができるかどうか興味があります。
私が今行っていることは、メインのレンダー ループでシーンをメイン フレーム バッファーに描画し、選択可能なオブジェクトだけを「ピッキング」フレーム バッファーにレンダリングすることです。
ユーザーがマウスをクリックすると、「ピッキング」フレームバッファがバインドされ、ピクセルが読み取られ、どのオブジェクトが選択されているかがわかります。これの問題は、ユーザーがマウスをクリックしたときに「ピッキング」フレームバッファーが必要なだけなので、フレームごとにこれを行うのは非効率的です。
ユーザーがマウスをクリックしてから直接読み取ったときに「ピッキング」フレームバッファにレンダリングしようとしましたが、得られるのは白だけです(背景色であり、どのオブジェクトであるかを示す色ではありません)。「ピッキング」フレームバッファを描画すると、実際には何もレンダリングされていないように、全体が白く表示されます。
「ピッキング」フレームバッファへのレンダリング中にメインループで描画を停止する必要がありますか? または、これを可能にする何かが欠けていますか?
EDIT:ピッキングフレームバッファへのレンダリング中にメインループで描画しないようにしましたが、それも機能しませんでした。