強火で進め このページをアンテナに追加 RSSフィード

整理された情報は こちら へどうぞ。

2008年12月15日

[][]iPhoneではちゅねを動かすサンプルコード公開

f:id:nakamura001:20081215145147p:image

今回、iPhoneではちゅねを動かすプログラムを作ろうと色々とOpenGL ESの情報を調べたところとにかく情報が少ないなぁ。という印象がありました。

少しでもOpenGL ESが盛り上がれば良いなと思い、ソースコードを公開することにしました。

よろしければOpenGL ESの勉強にお役立て下さい。そして、これからOpenGL ESの勉強を始める方のために以下のような情報をブログなどに書いて貰えるととってもうれしいです。

  • 今、ここまで出て来てるよ。
  • こんなことにハマって、こうやって解決した。
  • 作成したプログラムの中でここ部分までは公開できるの公開します(自由に使ってOKです。だったらとってもうれしいです(^_^;)。Tipsとかの小さなノウハウ系も大歓迎です)。

また、「実機でちゃんと表示できました」「こんなの作りました」などコメントやとトラックバックを頂きましたら見に行きますのでブログへのURLなど付けておいて貰えるとうれしいです。

それではみなさん、一緒にOpenGL ESがんばりましょう。

<ソースコード一覧>

※お決まりのフレーズですが「こちらのソースコードは自己責任で使用をお願いします。自己責任で使用できる方のみ使用下さい」

※はちゅねのモデルデータはズサさんが作成されたものを使っています(ありがとうございます<(_ _)>)。詳しくはこちらを参照下さい。

内容DLページ対応するエントリー
傾きで回転DLエントリー
ベンチマーク(複数のはちゅねを表示)DLなし
glReadPixels() で取得した画像をグレースケール化DLエントリー
自前でアンチエイリアシングDLエントリー
(おまけ)Macではちゅねを表示DLエントリー

xuckerxucker 2008/12/16 17:32 こんにちは、私もAndroidでOpenGL ESの勉強初めてRedbookとか試してみました。
iphoneアプリも将来的には作れるようになりたいので、その時にはいろいろ参考にさせていただきます。
http://code.google.com/p/akjava-android-project/

nakamura001nakamura001 2008/12/17 11:53 コメントありがとうございます。
ホームページ拝見しました。Android向けのGLUTやRedbookのサンプル移植をされているんですね。
Redbookのサンプル移植だとああいうときはどう書くのかなぁ?などの対応が取り易いので大変助かります。AndroidのOpenGL ES作成時に参考にさせてもらいます。

つくねつくね 2008/12/19 07:03 お早うございます。
OpenGL ESは今回初めての挑戦ですが、面白そうなので、早速ダウンロードさせていただきました。
最初は、Windows上のFireFoxで動かしてみたいと思います。

ところで、「Macではちゅねを表示」のhatyune.zipを解凍した際に作られる
フォルダの名前が、Windows(Vista x64)環境では文字化けするようです。
(フォルダ内のソースは開けます。)
日本語のフォルダ名、意外と曲者かもしれませんね・・・

nakamura001nakamura001 2008/12/19 18:31 なるほど、Windowsですか確かにWindowsだとMacで圧縮したフォルダは文字化けしますね。

Macユーザ向けに作ったつもりなのでその辺り考慮してませんでした。つくねさんのように他のWindowsユーザも参照目的でDLするかもという事を考慮してフォルダ名、英語に変更しておきます。

HidezoHidezo 2009/05/30 18:50 先月初めてMacを買ってiPhoneもキャンペーンで買って勉強中です。
非常に勉強になります。こうゆうページを提供していただいてありがたい限りです。
iPhoneでOpenGLを開始するにあたってSDKのテンプレートで四角をぐるぐる回るやつをInstrumentsで実行させてみたんですがそれだけで40KBくらいずつメモリが消費されていくんですが、こうゆうものなのですかね。。
シミュレータだからなんでしょうか。
はちゅねミクのデモアプリ&ソースもDLさせていただきました。
が、おなじように40KBくらいずつ消費されていきますね。
なのでよしとして勉強していきます(笑)

waonwaon 2009/06/04 01:23 こんにちは、OpenGLESを使ってキャラクタを表示させたりしてます。
「ホラホラすごいでしょ!」と知り合いに見せたら「ああ、初音ミク?でそーゆーのあったよ」といわれ傷心のうちにここにたどり着きました。
こんな感じです。
http://www.youtube.com/watch?v=nytcrXVd3nc
データはMayaで作り、モデルとアニメーションデータをヘッダファイルに変換して取り込んでます。
300フレームぐらいのアニメーションなのですが、定義部分がすごいことになってしまいます。

nakamura001nakamura001 2009/06/06 17:21 > Hidezoさん

>非常に勉強になります。こうゆうページを提供していただいてありがたい限りです。
多少でもHidezoさん参考になりましたら公開した甲斐があります。

> おなじように40KBくらいずつ消費されていきますね。
こちらの症状ですがこちらの実機(iPhone OS 2.2.1)ではそのような症状は出ていないですねぇ(ObjectAllocの項目で確認)。この症状ってどの項目で出ていました?

nakamura001nakamura001 2009/06/06 17:32 > waonさん

Youtubeの動画見させて貰いました。キャラクタを後ろで動かすだけの背景の扱いでなく、文字盤の文字を書いていくって所が良いですねぇ。

> モデルとアニメーションデータをヘッダファイルに変換して取り込んでます。
速度の面からはやっぱりその手法に行き着きますよね。iPhoneだとファイルのロードと解析の時間すらもったいないですからね。

こちらの変換部分って自前で作られたんですか?それともMayaだと、良い変換用のプラグインが有ったりするんですか?

HidezoHidezo 2009/06/07 04:00 わざわざお返事いただいてありがとうございます。
多少なんてもんじゃないです。このページがなかったらiPhoneでOpenGLなんて絶対やらなかったと思います。ほんとに感謝ですm(_ _)m。
こちらはシミュレータのみの確認で、同じようにObjectAllocで確認しました。
Leaksでもアプリを起動して2、3秒したところで1カ所だけパンっとあがってます。
いくつかのOpenGLの小さなサンプルで確認しましたが全部あがっていました。
ググってみたら海外のサイトで2件ほど「glDrawArraysはシミュレータだとリークするが実機だとしない」といった記事があったので気にしないようにしてますが、実機での確認ができていないので大丈夫かどうかちょっと気になってます。
わたくしめはOpenGLもMACも初めてなので見方がわかってないのかもしれませんが^^;

waonwaon 2009/06/07 05:22 こんにちは。
ヘッダファイルはMayaのスクリプト機能を利用して自作でやってます。
この形式にしたのは速度の関係・・もありますがObjective-Cの勝手がわからない
時分に手っ取り早く表示したかったからです。
C&OpenGLで遊んでましたので
Objective-Cだとかオブジェクト指向はわからないがOpenGLさえ使えれば突破口に
なるだろうと作ったHelloWorldみたいなものですね。。

nakamura001nakamura001 2009/06/07 18:13 > Hidezoさん

お役に立った様で良かったです。
公開してからもあまりiPhoneでOpenGL ESやってる人をあまり見かけないのでちょっと不安になってました(^_^;)

リークの件、試してみたところこちらでも同じ症状が出ました。

話に挙っていた様にシミュレータだけで出る様で実機だと出ませんでした。おそらくシミュレータ側の問題でしょうね。実機では出ない様なのでそこは大丈夫そうです。

nakamura001nakamura001 2009/06/07 18:28 > waonさん

こんにちは。

なるほど自前なんですね。Mayaかどうか忘れたのですが3DCGツールで出力形式としてOpenGL形式でC言語のヘッダファイルに出力できるものが有るって見かけた事があったので同様のOpenGL ES版で出力かな?と思っちゃいました。

自前だと最初は大変ですけど速度面や柔軟に変更に対応できるとか色々と報われる面も多いので良いですよね。

> この形式にしたのは速度の関係・・もありますがObjective-Cの勝手がわからない
> 時分に手っ取り早く表示したかったからです。
自分もこのエントリーを書いたときは同じ感じでOpenGL ESばかりやってました。
そのため今はテーブルを使ったアプリなど、よく有る開発手法を頑張って勉強中だったりします(^_^;)

ありっさ@SLありっさ@SL 2010/02/28 17:30 こんにちは。Alissa Sabre at Second Life などと名乗り、ちょこちょことプログラムなどを書いている者です。(女性名ですが、実態は男です。念のため。)

最近GLUTをいじっていまして、見栄えのするサンプルコードを探していたところ、こちらのページの「Macではちゅね」を発見しました。(1年以上前のようですが、iPhoneには関心がなかったためか、まったく気づいていませんでした。)

さっそくソースをダウンロードし、楽しませていただきました。少し直して、WindowsやLinuxで使えるようにしたのですが、そのソースを公開することの了承をいただきたいと思っています。いかがでしょうか?

# @ウィキの方を拝見しますと、Windowsの状況「これから」とありましたので、ご自身でも作ってらっしゃるのかもしれませんが…。

nakamura001nakamura001 2010/03/03 20:10 ありっさ@SLさん、コメントありがとうございます。

ソース公開は全く問題ないのでご自由に公開して貰って大丈夫ですよ。

自分もWindows版作ろうと思ってたんですが現在、開発使ってたWin機が壊れてネットブックしかないのでそっちは作るにしても随分先になりそうです(^_^;)

ありっさ@SLありっさ@SL 2010/03/06 22:14 ご快諾をいただきましたのでさっそく(と言うには間が空いてしまいましたが)公開させていただきました。 http://alissa-sabre.cocolog-nifty.com/blog/2010/03/windowslinux-55.html

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。