- 締切済み
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の初期化関連が行われている、例の正方形の上下運動ができるコードを 含めている形を求めています。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- harawo
- ベストアンサー率58% (3742/6450)
回答No.1
お礼
harawo さん ありがとうございます。 #import もフレームワークも問題は無いと思っています。 ビルドしてiPhoneシミュレータ上に画面は出ますし、 [vc startAnimation]; を実行すると、XViewControllerの(例の四角の上下を描画するルーチン) - (void)drawFrame; が怒濤のごとく呼び出されます(60回/秒) これはあくまでタイマーがちゃんと動いているという事でしょうけれど。。。 おそらくOpenGL ES側の初期化がうまくいっていないのだと思います。 気になっていますのは、XViewController(これはXcodeの新規プロジェクトで OpenGL ES Applicationを 選択したときに自動で作られたものです)のインスタンスを作るのが XViewController* vc = [[XViewController alloc] initWithNibName:@"XViewController" bundle:nil]; で本当にいいのだろうか?ということです。これでいいのかもしれないのですが、多分もっと 補助的な処理が必要なのではないかと。 よろしくお願いします。