iphone SDK アプリ開発の勉強‥ ES1Rendererのみを利用する設定

下記は、OpenGLでES1のみ利用し、ObjectC++を有効かする際の設定メモです。

ES2Renderer.h と ES2Renderer.mを削除

EAGLView.m

//
//  EAGLView.m
//  particle01
//
//  Created by mac on 10/08/01.
//  Copyright __MyCompanyName__ 2010. All rights reserved.
//

#import "EAGLView.h"

#import "ES1Renderer.h"
// #import "ES2Renderer.h" //   削除

@implementation EAGLView

…省略

        // renderer = [[ES2Renderer alloc] init]; //削除

        // if (!renderer) //削除
        // { //  削除
            renderer = [[ES1Renderer alloc] init];

            if (!renderer)
            {
                [self release];
                return nil;
            }
        //}  //削除

        animating = FALSE;
        displayLinkSupported = FALSE;

…省略

EAGLView.h

//
//  EAGLView.h
//  particle01
//
//  Created by mac on 10/08/01.
//  Copyright __MyCompanyName__ 2010. All rights reserved.
//

#import
#import

// #import "ESRenderer.h" //削除
#import "ES1Renderer.h" //追加

// This class wraps the CAEAGLLayer from CoreAnimation into a convenient UIView subclass.
// The view content is basically an EAGL surface you render your OpenGL scene into.
// Note that setting the view non-opaque will only work if the EAGL surface has an alpha channel.
@interface EAGLView : UIView
{
@private
    // id  renderer; //削除
    ES1Renderer* renderer; //追加

    BOOL animating;
    BOOL displayLinkSupported;
    NSInteger animationFrameInterval;

これで ES1Rendererのみ意識して作れる。
また、既存の  ES1Renderer.m などの.mとなっている拡張子を.mmとしてあげればObjectC++を利用できる

iphoneアプリ開発 openGL勉強まずは、、初期ソースの理解。。

ここ最近新しいジャンルの開発をしてなかったのですが、最近macを触る機会がありまして、

iphoneアプリの開発をはじめてみました、、いろいろweb で検索したり本屋で立ち読みしながら、まず何かを作りたいかを絞り、どこを押さえれば自分の作りたいアプリが作れるかを模索してみました。

iphoneアプリの開発をはじめて触ってみて思ったのが、 GUIでいろいろとフォームや画像表示などいろいろな機能が直感的につくれるというのを感じました。。

アプリを作るなら3Dやがんがん動くゲームを作ってみたいと思いopenGL をやってみたいとおもい、いまはそこにしぼって勉強をしてます!それ以外は正直あまり興味わかないのでというのもありますが、、、(汗

まず openGLを始める上で、最初からレインボー色の正方形が上下にぐいんぐいんうごいているだけなので、

とりあえずいじってみようと思いそれらしいところを触っていたのですが、

まったく変更がされた結果かえってこないので、なぜだと思いました。

調べてみると、iphoneアプリの3Gや3GS用に利用する機能をわけているようで、それに対応する部分を意識せずに作ってしまっていたためのようです、、素人もろだしですみませんという感じですが、、

まず開発テストの段階では初期の3Gの対応部分のみで大丈夫だとおもうので、下記のように設定することにしました。

EAGLView.mの
下記部分をコメントアウト

// #import "ES2Renderer.h"

次に下記もコメントアウト

        //renderer = [[ES2Renderer alloc] init];

        //if (!renderer)
        //{
            renderer = [[ES1Renderer alloc] init];

            if (!renderer)
            {
                [self release];
                return nil;
            }
        //}

そして、EAGLView.hの下記もコメントアウト&追記

//#import "ESRenderer.h"
#import "ES1Renderer.h"

つづきまして〜こちらも

//id  renderer;
	ES1Renderer* renderer;

こちらのように ES1Rendererのみを利用するように設定したはじめた方が最初はやりやすいかと思います。
参考までに、、メモ!