*

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

関連記事

image

《イーモン》デザフェスおつかれ!

イーモンのデザフェス初出展終わりました! たくさんの人にイーモンをプレイしてもらえて、実りのあ

記事を読む

kii1.png

KiiCloudでファイルアップロード

KiiCloudではサーバーと通信が必要な処理は、同期タイプ(Synchronous)と非同タイプ(

記事を読む

kii1.png

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

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

記事を読む

IMG_2206.JPG

【イーモン】プロモーションムービー

デザフェスで使ったプロモーションムービーです! 当日は、AppleTVをつかってiP

記事を読む

emon_banner_small.png

eMon

eMonのプレイ動画をアップロードしました。 なぞって、つなげて回答するシステムが

記事を読む

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

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

記事を読む

AppIcon60x60@2x.png

ホーム画面にショートカットアイコン(スキームアイコン)を作成する

iOSのSafariには共有メニューにがあり、表示させているページへのショートカットアイコン

記事を読む

no image

Renderer::visitRenderQueueで落ちる場合

Cocos2d-x v3にしてから描画で突然落ちる場合があり、 原因をたどっていくと、Re

記事を読む

clip.png

マスク画像を使ってUIViewのスクリーンショットをとる

時間管理アプリのsLogでユーザがアイコンを作成する際につかっていた機能を拡張して任意の形で

記事を読む

7327e553eeb4f9377ba0e8c628478c44.jpg

エキスパートCプログラミング

最近、エキスパートCプログラミングという本を読みかえしていて、勉強になることがいくつも発見でき

記事を読む

Sponsored Link

Message

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

Sponsored Link

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

Google+ Google
PAGE TOP ↑