OpenGL ES
久しぶりにKhronosのOpenGL ESのページを見ていたところ「OpenGL ES 1.1.12 Difference Specification」が目に入りました。http://www.khronos.org/registry/gles/specs/1.1/es_cm_spec_1.1.12.pdf ※こちらのサイトの「OpenGL ES 1.1.12 Difference Specific…
OpenGL ESの最適化についてのドキュメント「スケーラブルな 3D アプリの構築 開発者のためのヒント & トリック」が参考になりました。2005年と古いものですが現在でも通用する手法・注意する箇所が多数解説してあり、何より日本語で書かれているのが素晴らし…
OpenGL SuperBibleのサンプルをiPhoneに移植してるサイトをみつけました。 役に立つサンプルとして使えそうです(2009/03/23現在はまだ入門部分しか移植されていないようです)。 TimesToCome Mobile » Tips, tricks, tools, and help for the iPhone, Palm an…
iPhoneのOpenGL ESでFBO(Framebuffer Object)を使ってみました。 処理の流れとしてはFBOへ 2297(三角形)ポリゴンの「はちゅね」を描画 → Cube のテクスチャとして使用。このくらいの処理で 26〜30fps ってところみたいです。【参考にしたサイト】 床井研究室…
以前、紹介した glDrawTexiOES() 関数ですが紹介したエントリーでは「透過、半透明が使えない」と書いていましたがコメント欄にて id:mswar さんに「使えますよ」と教えて頂きました。 テクスチャ上にビットマップフォントを準備して文字列を描画 - 強火で進…
iPhone向けにメタセコイアファイルのビューアを作りました。 ※iPhoneで再生できる形式への変換に時間がかかっている様なのでこちらにiPhone用のムービーを準備しました。Youtubeで変換が完了するまではこちらをご覧下さい。 mqoファイルから読み込んでいるの…
とあるライブラリをいじっているときに以下のコマンドでエラーが発生。 glGetMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE,matenvGL_DIFFUSE) リファレンスで確認したところOpenGL ESだとFace(第一引数の値。どの面に対するアクションであるかを指定)が GL_FRO…
最近、iPhone Dev Centerにログインしていないなぁ。と思い、久しぶりにログインしたところ12/8、9にサンプルが追加されていたみたいです。 ※今までにリリースされたものも一部アップデートされたものも有るみたいです。その一つが「テクスチャ圧縮」につい…
Appleの人達が事あるごとにOpenGL ESの最適化にはテクスチャ圧縮使えとプッシュしてるのでいい加減、テクスチャ圧縮に手を付ける事にしました。iPhoneの開発環境にはテクスチャ圧縮作成(PVRTC圧縮)ツールが付属していて簡単に作ることができます。iPhone SDK…
こちらで紹介した様にはちゅねのiPhoneアプリに文字列を表示できるようになりました。 テクスチャ上にビットマップフォントを準備して文字列を描画 - 強火で進め http://d.hatena.ne.jp/nakamura001/20081228/1230474743 そこでさっそく以前、ベンチマーク代…
どうやらiPhoneのOpenGL ESでは文字列の描画処理用のコマンドが見当たらなかったので自前でテクスチャ上にビットマップフォントを準備し、文字列を描画することにしました。 フォント選定 フォントはフリーのものでもビットマップデータ化を禁止しているもの…
海外ではOpenGLのチュートリアルの定番サイトである。 NeHe Productions に掲載させているサンプルをiPhoneに移植した人が登場しました。 iPhone Development: OpenGL Postings http://iphonedevelopment.blogspot.com/2008/12/opengl-postings.html すばら…
今回、iPhoneではちゅねを動かすプログラムを作ろうと色々とOpenGL ESの情報を調べたところとにかく情報が少ないなぁ。という印象がありました。少しでもOpenGL ESが盛り上がれば良いなと思い、ソースコードを公開することにしました。よろしければOpenGL ES…
今更(NDAの関連で書いちゃまずいかなと思ったので自粛してました)ですがiPhoneのOpenGL ESのバージョンやOpenGL拡張の情報の取得方法について書いておきます。今回はOpenGL ESのプロジェクトを作成した後、ファイル EAGLView.m の - (BOOL)createFramebuffer…
現在、iPhoneのOpenGL ESでテクスチャ使用時の読み込みの関数はAppleのサンプルを一部抜き出して使っています。元々はクラスになっていたものから一部のメソッドを抽出したものを使っているためイマイチ使い勝手が悪いので今回リニューアルを計画しました。B…
(2010/07/24 追記) iPhone 4から搭載されました。 マルチサンプリングアンチエイジ - 強火で進め http://d.hatena.ne.jp/nakamura001/20100723/1279892827 iPhoneで作った3Dのはちゅねですがジャギーが発生していてイマイチ画質が良くないです。アンチエイリ…
3Dレンダリング後の画像を利用するプログラムを作ってみました。例えばこのようにはちゅねがレンダリングされた画像を利用し、 その画像を左上に小さく描画してみることにします。描画にはちょっと情報の少ないコマンドですが glDrawTexiOES() を使って描画…
OpenGLで glRotatef() や glRotated() などの回転のコマンドを実行した場合、右ねじの向き(反時計回り)に回転します。あるときに作成したプログラムでZ軸の回転だけは正しい向きに回転するけど、X軸、Y軸については回転方向が逆になると言う事がありました。…
Developing Mobile 3D Applications With OpenGL ES and M3G http://people.csail.mit.edu/kapu/mobile_3D_course/ MIT授業の1つの資料(残念ながら、もちろん英語となります)のようです。全部見るのが辛い場合はこのPDFだけでも押さえておいたら如何でしょう…
Vincent ES 1.xはOpenGL ESを実装したものらしい。OpenGLでいうところのMesaみたいなものって認識でき良いのかな?こちらの ogl-es-samples (サンプルプログラム)には赤本のサンプルをOpenGL ESへ移植したものが有ります。iPhoneだとそのまま実行とは行きま…
OpenGL ES Game Developmentちょっとだけナナメ読みしました。EGLの話とか載ってる見たいでなかなか参考になりそう(プロファイルみたいな認識でいるんだけど合ってるのかなぁ?)。やけにFixed Point、Fixed Pointと固定小数点の話ばかりしてるなぁと思ったら…
自分も中々見つけられなかった。OpenGL ESのgl*OESという最後にOESが付いているコマンドのドキュメントについて紹介しておきます(同じ様に苦労してる人を見かけたので)。こちらのコマンドに関するドキュメントですが自分が調べた範囲では現時点ではKhronosの…
以前、自分も見に行った「第14回ビジュアリゼーションカンファレンス」の講演資料が公開されたようです。このクォリティでかつ「日本語」「無料」の資料はなかなか無いです。 これをスルーするのはもったいなさ過ぎです。この機会にガッツリ確認しておきまし…
今回、「3Dはちゅね」を動かすまでにどのようなサイトや本を参考に学習を進めたを紹介します。良ければ参考にして下さい。とりあえず実際に進めた順番で書きますがもっと効率的な順番やその人に有った順番なども有ると思うので実際に試すときは適宜自分にあ…
今回、iPhoneのOpenGL ESで「はちゅね」を作ってみましたが実はOpenGLのプログラム初めてだったりします。色々とどんなことができるとか知識では知ってましたが実際にはまったくプログラムをしたことがありませんでした。そこでひたすら参考になりそうなサイ…
iPhoneで「はちゅね」を動かすの成功しました。「はちゅね」ぐらいのローポリのモデルだとまったく問題なくサクサク動作します。 明日、Makeを見に行くのでとりあえずこれだけ。また明日の夜中にでもiPhoneでOpenGL ESを始めるときときにお勧めの本の紹介な…
昨日書いたこちらのエントリーで紹介したDr. Dobb'sのサンプルですが結構、ビルドするのが大変みたいなので補足しておきます。 OpenGL ESでテクスチャを使うときの参考になるサンプル - 強火で進め http://d.hatena.ne.jp/nakamura001/20081029/1225307458 1…
OpenGL ESについてざっくり知るには2007年のCEDECのこのPDF(プレゼン資料かな?)とか良いと思う。ESの付かない方のOpenGLとの関係とかもまとまってます。この資料に有る様にiPhoneが対応しているOpenGL ESは1.1となります。情報を集めるときは1.1になること…
例えばOpenGLやOpenGL ESでプログラム作っていて分からない関数などが出て来たら以下の様なリファレンスで調べると思います。 OpenGL、OpenGL ESリファレンス一覧 http://d.hatena.ne.jp/nakamura001/20080918/1221738923 このとき注意しないといけないのが…
OpenGLのリファレンス情報は以下のURLで参照できます。 OpenGL 2.1 OpenGL 2.1 Reference Pages http://www.opengl.org/sdk/docs/man/ OpenGL 3.3 OpenGL 3.3 Reference Pages http://www.opengl.org/sdk/docs/man3/ OpenGL 4.1 OpenGL 4.1 Reference Pages …