*

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

関連記事

AppIcon60x60@2x.png

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

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

記事を読む

5017d1a195d95dfed9f60e9fd5d82c13.png

苦手な英語の発音を真面目に考えてみた

最近、英語の発音に真面目に取り組んでます。 これまで読み書きが中心で、リスニングやスピーキン

記事を読む

badge.png

iOSでバックグラウンドタスク(BackgroundTask)

iOSでは何もしなければアプリケーションがバックグラウンドに移行するとすぐにRunLoopやワ

記事を読む

df40.png

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

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

記事を読む

statusbar2.png

ステータスバーとナビゲーションバーを含まない領域を取得する

iOS7からUIViewControllerのview.boundsはステータスバーやナビゲーシ

記事を読む

blog.png

cocos2d-x v2.2からv3.3rc0 その2

イーモンを鋭意更新中です。 アイキャッチは魔法使いの高ランク装備グラです。 coc

記事を読む

sola.png

アプリからFormDataを送信する

HTMLのformタグを使うとHTTPリクエストにkey=valueの形式で任意のデータを付加して送

記事を読む

English Monsters

イーモンv2.0リリース

イーモンv2.0がやっとリリースできました。 山岳ステージLesson6までプレイできます

記事を読む

icloud.jpeg

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

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

記事を読む

ace.png

イーモンxエースクラウン「Aの塔」決定

あの英和辞典エースクラウンがイーモンに登場します! エースクラウンで取り上げられている会

記事を読む

Sponsored Link

Message

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

Sponsored Link

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

Google+ Google
PAGE TOP ↑