*

OpenGLES 1.1でテクスチャ表示

公開日: : 最終更新日:2013/11/27 iOS, ブログ

Gles1
最近、OpenGLESベースのゲームエンジンであるcocos2dでゲームを作りはじめました(画像は絵師の方の作品です)。
やはり使っているツールの中身もしっておきたいので、あわせてOpenGLESの基礎的な勉強もはじめました。
仕事の合間をぬってOpenGLの書籍をいくつか読みながら試行錯誤しているのですが、
その中で自分がつまづいたことなどをこのブログに残してきたいと思います。

まずは勉強につかっている本をひとつ。
iOSで作るシューティングゲーム

この本の前半にある[テクスチャの表示]の項目でいきなりつまづいたので記します。

GLKViewControllerとは?

xCode5.0.2で[OpenGL Game]のプロジェクトを作成すると、起動時のViewControllerがGLKViewControllerに設定されています。
GLKitフレームワークに含まれるクラスでGLKViewと共にOpenGLのアプリで共通に必要になるフレームバッファの初期化やループ処理などをやってくれるクラスのようです(OpenGL ES Programming Guid for iOS)。

書籍ではGLKitは使わず(そもそもまだなかった?)、勉強のためそれらの処理も丁寧に紹介されています。
本のサンプルを実践した後に、あえてGLKitを使ってOpenGLES1でテクスチャを表示させようとしたところ。。。。

テクスチャ表示

GLKViewControllerのviewDidLoadでEAGLContextがkEAGLRenderingAPIOpenGLES2で初期化されています。
まずここをkEAGLRenderingAPIOpenGLES1に変えました。
この状態でdrawRect関数にテクスチャ表示のコードを記述したのですが上手くいきません。
サンプルのコードと比較しながら試行錯誤し、最終的に以下の初期化コードをsetupGLに追加すると無事表示できました。

サンプル WuXing

glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
if (glContext.API == kEAGLRenderingAPIOpenGLES2) {
    ....
} else {
    glEnable(GL_TEXTURE_2D);
    glEnableClientState(GL_VERTEX_ARRAY);
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
}


Sponsored Link

関連記事

icloud.jpeg

iCloudその2:ファイルの衝突

前回はiCloud上のファイルが更新されたときのNSMetadataQueryDidUpdateNo

記事を読む

ad9a17c91d332c899c5fec4c70e6ef3a.png

Androidの開発環境をセットアップ

3年ぶりぐらいにAndroid向けアプリの開発をやることになりました。 今のAndroid

記事を読む

products-ico5.png

cocos2d-x v2.2からv3.3への移行

最近、イーモンの更新でiTunesにバイナリをアップロードしたら、 2015年2月から64

記事を読む

emon.png

【イーモン】v1.5リリース

やっとv1.5リリースできました。 継続的にプレイを続けてもらえるように ゲームのバランス

記事を読む

kii1.png

Kii Cloudオブジェクトエディタ

現在作成しているゲームで使うMBaasとしてKii Cloudを検討しています。 和製のMBa

記事を読む

df40.png

【イーモン】デザフェス用ミニゲーム

2014年11月8日のデザインフェスタ用に作ったミニゲームです! シルエットまたは単語の意味が

記事を読む

sample.png

cocos2dxでhttp通信のprogressを表示する

cocos2d-xでは、ダウンロードの進捗を取得するインターフェイスが用意されていないような

記事を読む

iOS7向けアプリアイコンを一括変換

iOSがiOS7にバージョンアップされ、アプリに必要なアイコン画像のサイズがさらに増えました(

記事を読む

9c4bad3031efca48b291c537f65ec874.png

TOEIC結果速報!

3/15日のTOEICテストの結果は・・・ 結論から言うと前回700点から今回685点に下がりま

記事を読む

ace.png

イーモンv2.3申請

やっとv2.2がリリースされ、本日v2.3をAppleに申請しました。 v2.3の主

記事を読む

Sponsored Link

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Sponsored Link

  • 発音辞書イーモン
  • English Monsters
  • sLog(時間管理アプリ)
  • 生粋のC++プログラマーです。 最近は、Objective-Cやxcode、cocos2d-xなどを学びながらiPhoneアプリを開発しています。

Google+ Google
PAGE TOP ↑