• 締切済み

iphoneプログラミング OpenGL ES

iOS4.2でOpenGL ESのプロジェクトを作ると EAGLView.[hm] XAppDelegate.[hm] XViewController.[hm] XViewController.xib が自動で出来上がります。これらのファイルを退避しておいて、 新規に View-based applicationを 作ってから、先ほどのEAGLView.[hm]、XViewController.[hm]、XViewController.xib を加えて、XViewControllerを XViewController* vc = [[XViewController alloc] initWithNibName:@"XViewController" bundle:nil]; で作ってみても、例のカラフルな正方形の上下運動は出てきません。 XViewController.xibの画面だけは出てくるようで、試しにその上にボタンを配置して みると、ちゃんとシミュレータ上でそのボタンが現れますが、OpenGL ESの描画というのは 一切ありません。 View-based applicationを作ってその中で OpenGL ESのビューを作りたいのです。 検索するとやり方とかの情報が少しだけありましたが、OpenGL ESの初期化も何も していない単純にビューを結びつけるやり方の様で、自分としてはなるべく OpenGLESの初期化関連が行われている、例の正方形の上下運動ができるコードを 含めている形を求めています。

みんなの回答

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.1

必要なヘッダファイルを「#import」していますか? 必要なフレームワークを、「プロジェクトに追加」していますか?

Skynetwork
質問者

お礼

harawo さん ありがとうございます。 #import もフレームワークも問題は無いと思っています。 ビルドしてiPhoneシミュレータ上に画面は出ますし、 [vc startAnimation]; を実行すると、XViewControllerの(例の四角の上下を描画するルーチン) - (void)drawFrame; が怒濤のごとく呼び出されます(60回/秒) これはあくまでタイマーがちゃんと動いているという事でしょうけれど。。。 おそらくOpenGL ES側の初期化がうまくいっていないのだと思います。 気になっていますのは、XViewController(これはXcodeの新規プロジェクトで OpenGL ES Applicationを 選択したときに自動で作られたものです)のインスタンスを作るのが XViewController* vc = [[XViewController alloc] initWithNibName:@"XViewController" bundle:nil]; で本当にいいのだろうか?ということです。これでいいのかもしれないのですが、多分もっと 補助的な処理が必要なのではないかと。 よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A