色と深さのアタッチメントが付いたFBOオブジェクトがあり、レンダリングしてから読み取り、glReadPixels()
マルチサンプリングサポートを追加しようとしています。
代わりに、カラーアタッチメントとデプスアタッチメントの両方glRenderbufferStorage()
を求めています。glRenderbufferStorageMultisampleEXT()
フレームバッファオブジェクトは正常に作成されたようで、完了として報告されます。
レンダリングした後、私はそれから読み込もうとしていglReadPixels()
ます。サンプル数が0の場合、つまりマルチサンプリングが無効になっている場合、完全に機能し、必要な画像が得られます。サンプル数を別の値、たとえば4に設定すると、フレームバッファーは正常に構築されますが、glReadPixels()
失敗します。INVALID_OPERATION
誰かがここで何が間違っている可能性があるか考えていますか?
編集:glReadPixelsのコード:
glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, ptr);
ここで、ptrはwidth *heightuintsの配列を指します。