1

これに関する多くの投稿を見つけましたが、OpenGL や GLKit について十分に理解していないことが主な原因で、解決策を見つけることができませんでした。

ここで説明する方法をプロジェクトに追加しました。

彼らは具体的に言及しています:

重要: EAGLContext/-presentRenderbuffer: を呼び出す前に glReadPixels を呼び出す必要があります: 保持されたバック バッファを使用していない限り、定義された結果を取得します。

保持されたバック バッファーを設定しようとして失敗しましたが、それを行うと「パフォーマンスに悪影響を与える」ので、むしろそれを避けたいと思います。

別の投稿のコメントによると、問題は次のとおりです。

GLKit では、GLKView が自動的に表示され、各レンダリング サイクルの最後に不要なレンダー バッファーが破棄されます。

では、GLKit を使用しているときに、適切なタイミングで「スナップショット」メソッドを呼び出すにはどうすればよいですか?

これまでのところ、iOS 5 では奇妙な黄色のバージョンのシーンが得られ (他の色がなかったかのように)、iOS 6 では純粋な白のイメージが得られます (白をクリアカラーとして使用しているためだと思います)。

さらに、このコメントで彼ら(リンゴ)が何について話しているのかわかりません。

// アプリケーションが、この時点ですでにバインドされている単一のカラー レンダー バッファーのみを作成する場合、 // この呼び出しは冗長ですが、複数のレンダー バッファーを扱う場合は必要です。// 「_colorRenderbuffer」を、クラスで定義された renderbuffer オブジェクトの実際の名前に置き換えてください。glBindRenderbufferOES(GL_RENDERBUFFER_OES, _colorRenderbuffer);

そのため、アプリで呼び出しをコメントアウトしました。重要な場合、オブジェクトは位置、テクスチャ座標、および色で VBO を使用しています。

4

0 に答える 0