5

こんにちは、iPhone 用の OpenGLES でプログラミングしていますが、現在、奇妙なフレームバッファ オブジェクト エラーが発生しています。

最初は、Simon Maurice のいくつかのチュートリアルに従っていました: http://web.me.com/smaurice/AppleCoder/Welcome.html

しかし、その後、他のチュートリアルに進む前に、自分でいくつかの実験を行いましたが、私の実験は問題にぶつかりました. 私がやろうとしていたのは、EAGLView を ViewController のビューにすることでした。これは、基本コードが元々チュートリアルからのものであったときに完全にうまく機能しました。

EAGLView は UIView のサブクラスであるため、これを実行するのはそれほど難しくありません。そのため、実験を続けて白紙の状態で実行したいと考えました。Windows ベースのアプリケーション プロジェクトを使用して Xcode で新しいプロジェクトを作成し、新しい EAGLView と ViewController を作成して、前のプロジェクトと同じタスクを実行しました。

ただし、コンパイルして実行すると、ビューが白くなり、createFramebuffer プロセス中に「完全なフレームバッファ オブジェクト %x を作成できませんでした」というエラーがコンソールに出力されます。(エラー コンソール出力:「GLController[2071:207] failed to make complete framebuffer object 0」)。

最初は自分のコードだと思ったので、以前のプロジェクトの作業コードを新しいプロジェクトにリッピングしましたが、それでも同じエラーが発生します。同時に、新しいプロジェクト コードを古いプロジェクトに移動し、正常な出力でコンパイルしました。

同じコードが新しいプロジェクトで正しく機能しないのに、古いプロジェクトでは新しいコードが正しく機能する理由がわかりません。誰かが私が欠けているものを知っていれば、それは大歓迎です。

ありがとう。

(また、Apple サンプル コードのいくつかの EAGLView でテストしたところ、新しいプロジェクトで同じエラーが発生しましたが、ViewController がアタッチされた古いプロジェクトでは発生しませんでした。)

4

3 に答える 3

7

ここで暗闇の中で撮影しましたが、これまでに行ったことに関する詳細情報が不足していますが、EAGLViewをIB経由でインスタンス化していますか(したがって-initWithCoder:)、またはプログラムでインスタンス化していますか(-initWithFrame:)?

EAGLView.mを見ると-initWithCoder:、実際に必要な初期化のみが行われていることがわかります。-initWithFrame:その初期化コードを共有(または唯一の)初期化子に移行するのは非常に簡単です。

于 2010-08-11T20:02:23.453 に答える
0

前回の Iphone SDK から現在のものまで、opengles テンプレート プログラムに変更がありました。ES2.0 と ES1.1 を選択するためのサポート コードが記述されています。

その点に注意してください。

于 2009-10-25T14:37:19.170 に答える