強火で進め

このブログではプログラム関連の記事を中心に書いてます。

OpenGL ES

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…

おすすめ資料「スケーラブルな 3D アプリの構築 開発者のためのヒント & トリック」

OpenGL ESの最適化についてのドキュメント「スケーラブルな 3D アプリの構築 開発者のためのヒント & トリック」が参考になりました。2005年と古いものですが現在でも通用する手法・注意する箇所が多数解説してあり、何より日本語で書かれているのが素晴らし…

OpenGL SuperBibleのサンプルをiPhoneに移植してるサイトを発見

OpenGL SuperBibleのサンプルをiPhoneに移植してるサイトをみつけました。 役に立つサンプルとして使えそうです(2009/03/23現在はまだ入門部分しか移植されていないようです)。 TimesToCome Mobile » Tips, tricks, tools, and help for the iPhone, Palm an…

FBO(Framebuffer Object)を使ってみた

iPhoneのOpenGL ESでFBO(Framebuffer Object)を使ってみました。 処理の流れとしてはFBOへ 2297(三角形)ポリゴンの「はちゅね」を描画 → Cube のテクスチャとして使用。このくらいの処理で 26〜30fps ってところみたいです。【参考にしたサイト】 床井研究室…

glDrawTexiOES()は半透明描画に対応してたみたい

以前、紹介した glDrawTexiOES() 関数ですが紹介したエントリーでは「透過、半透明が使えない」と書いていましたがコメント欄にて id:mswar さんに「使えますよ」と教えて頂きました。 テクスチャ上にビットマップフォントを準備して文字列を描画 - 強火で進…

メタセコイアファイルのビューアを作った

iPhone向けにメタセコイアファイルのビューアを作りました。 ※iPhoneで再生できる形式への変換に時間がかかっている様なのでこちらにiPhone用のムービーを準備しました。Youtubeで変換が完了するまではこちらをご覧下さい。 mqoファイルから読み込んでいるの…

OpenGL ESのマテリアル情報は取得と設定で使用するFaceの設定が異なるみたい

とあるライブラリをいじっているときに以下のコマンドでエラーが発生。 glGetMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE,matenvGL_DIFFUSE) リファレンスで確認したところOpenGL ESだとFace(第一引数の値。どの面に対するアクションであるかを指定)が GL_FRO…

Appleの公式サイトにテクスチャ圧縮のサンプルが追加されたみたい

最近、iPhone Dev Centerにログインしていないなぁ。と思い、久しぶりにログインしたところ12/8、9にサンプルが追加されていたみたいです。 ※今までにリリースされたものも一部アップデートされたものも有るみたいです。その一つが「テクスチャ圧縮」につい…

テクスチャ圧縮(PVRTC)のクオリティを徹底比較してみた

Appleの人達が事あるごとにOpenGL ESの最適化にはテクスチャ圧縮使えとプッシュしてるのでいい加減、テクスチャ圧縮に手を付ける事にしました。iPhoneの開発環境にはテクスチャ圧縮作成(PVRTC圧縮)ツールが付属していて簡単に作ることができます。iPhone SDK…

はちゅねを複数出したときのFPS値をチェックした

こちらで紹介した様にはちゅねのiPhoneアプリに文字列を表示できるようになりました。 テクスチャ上にビットマップフォントを準備して文字列を描画 - 強火で進め http://d.hatena.ne.jp/nakamura001/20081228/1230474743 そこでさっそく以前、ベンチマーク代…

テクスチャ上にビットマップフォントを準備して文字列を描画

どうやらiPhoneのOpenGL ESでは文字列の描画処理用のコマンドが見当たらなかったので自前でテクスチャ上にビットマップフォントを準備し、文字列を描画することにしました。 フォント選定 フォントはフリーのものでもビットマップデータ化を禁止しているもの…

NeHe ProductionsのOpenGLチュートリアルがiPhoneに移植されたみたいです

海外ではOpenGLのチュートリアルの定番サイトである。 NeHe Productions に掲載させているサンプルをiPhoneに移植した人が登場しました。 iPhone Development: OpenGL Postings http://iphonedevelopment.blogspot.com/2008/12/opengl-postings.html すばら…

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

今回、iPhoneではちゅねを動かすプログラムを作ろうと色々とOpenGL ESの情報を調べたところとにかく情報が少ないなぁ。という印象がありました。少しでもOpenGL ESが盛り上がれば良いなと思い、ソースコードを公開することにしました。よろしければOpenGL ES…

バージョンやOpenGL拡張を確認する

今更(NDAの関連で書いちゃまずいかなと思ったので自粛してました)ですがiPhoneのOpenGL ESのバージョンやOpenGL拡張の情報の取得方法について書いておきます。今回はOpenGL ESのプロジェクトを作成した後、ファイル EAGLView.m の - (BOOL)createFramebuffer…

iPhoneのOpenGL ESのテクスチャ読み込み処理を修正した

現在、iPhoneのOpenGL ESでテクスチャ使用時の読み込みの関数はAppleのサンプルを一部抜き出して使っています。元々はクラスになっていたものから一部のメソッドを抽出したものを使っているためイマイチ使い勝手が悪いので今回リニューアルを計画しました。B…

自前でアンチエイリアシングをしてみた

(2010/07/24 追記) iPhone 4から搭載されました。 マルチサンプリングアンチエイジ - 強火で進め http://d.hatena.ne.jp/nakamura001/20100723/1279892827 iPhoneで作った3Dのはちゅねですがジャギーが発生していてイマイチ画質が良くないです。アンチエイリ…

glReadPixels()、glDrawTexiOES()コマンドを使ってレンダリング後の画像を利用する

3Dレンダリング後の画像を利用するプログラムを作ってみました。例えばこのようにはちゅねがレンダリングされた画像を利用し、 その画像を左上に小さく描画してみることにします。描画にはちょっと情報の少ないコマンドですが glDrawTexiOES() を使って描画…

OpenGLで回転の向きがおかしいときはNearプレーンの設定を疑え

OpenGLで glRotatef() や glRotated() などの回転のコマンドを実行した場合、右ねじの向き(反時計回り)に回転します。あるときに作成したプログラムでZ軸の回転だけは正しい向きに回転するけど、X軸、Y軸については回転方向が逆になると言う事がありました。…

MITのOpenGL ESの授業用資料

Developing Mobile 3D Applications With OpenGL ES and M3G http://people.csail.mit.edu/kapu/mobile_3D_course/ MIT授業の1つの資料(残念ながら、もちろん英語となります)のようです。全部見るのが辛い場合はこのPDFだけでも押さえておいたら如何でしょう…

Vincent ESには赤本のサンプルをOpenGL ESで実装したサンプルが有る

Vincent ES 1.xはOpenGL ESを実装したものらしい。OpenGLでいうところのMesaみたいなものって認識でき良いのかな?こちらの ogl-es-samples (サンプルプログラム)には赤本のサンプルをOpenGL ESへ移植したものが有ります。iPhoneだとそのまま実行とは行きま…

OpenGL ES Game Developmentちょっとだけ読んだ

OpenGL ES Game Developmentちょっとだけナナメ読みしました。EGLの話とか載ってる見たいでなかなか参考になりそう(プロファイルみたいな認識でいるんだけど合ってるのかなぁ?)。やけにFixed Point、Fixed Pointと固定小数点の話ばかりしてるなぁと思ったら…

OpenGL ESのgl*OESのコマンド(関数)のドキュメントについて

自分も中々見つけられなかった。OpenGL ESのgl*OESという最後にOESが付いているコマンドのドキュメントについて紹介しておきます(同じ様に苦労してる人を見かけたので)。こちらのコマンドに関するドキュメントですが自分が調べた範囲では現時点ではKhronosの…

第14回 ビジュアリゼーションカンファレンスの講演資料が公開されました(※これからOpenGL ESやろうと思ってるは必見)

以前、自分も見に行った「第14回ビジュアリゼーションカンファレンス」の講演資料が公開されたようです。このクォリティでかつ「日本語」「無料」の資料はなかなか無いです。 これをスルーするのはもったいなさ過ぎです。この機会にガッツリ確認しておきまし…

iPhoneで「3Dはちゅね」動かすまで勉強方法の流れ(概要)

今回、「3Dはちゅね」を動かすまでにどのようなサイトや本を参考に学習を進めたを紹介します。良ければ参考にして下さい。とりあえず実際に進めた順番で書きますがもっと効率的な順番やその人に有った順番なども有ると思うので実際に試すときは適宜自分にあ…

iPhoneでOpenGL ESを覚えるときのおすすめ本

今回、iPhoneのOpenGL ESで「はちゅね」を作ってみましたが実はOpenGLのプログラム初めてだったりします。色々とどんなことができるとか知識では知ってましたが実際にはまったくプログラムをしたことがありませんでした。そこでひたすら参考になりそうなサイ…

iPhoneで「はちゅね」を動かしてみた

iPhoneで「はちゅね」を動かすの成功しました。「はちゅね」ぐらいのローポリのモデルだとまったく問題なくサクサク動作します。 明日、Makeを見に行くのでとりあえずこれだけ。また明日の夜中にでもiPhoneでOpenGL ESを始めるときときにお勧めの本の紹介な…

Dr. Dobb'sのiPhoneのサンプル(OpenGL ES)をビルドする方法

昨日書いたこちらのエントリーで紹介したDr. Dobb'sのサンプルですが結構、ビルドするのが大変みたいなので補足しておきます。 OpenGL ESでテクスチャを使うときの参考になるサンプル - 強火で進め http://d.hatena.ne.jp/nakamura001/20081029/1225307458 1…

OpenGL ESについてざっくり知るに良い資料

OpenGL ESについてざっくり知るには2007年のCEDECのこのPDF(プレゼン資料かな?)とか良いと思う。ESの付かない方のOpenGLとの関係とかもまとまってます。この資料に有る様にiPhoneが対応しているOpenGL ESは1.1となります。情報を集めるときは1.1になること…

OpenGLやOpenGL ESのリファレンスを見るときの注意点

例えばOpenGLやOpenGL ESでプログラム作っていて分からない関数などが出て来たら以下の様なリファレンスで調べると思います。 OpenGL、OpenGL ESリファレンス一覧 http://d.hatena.ne.jp/nakamura001/20080918/1221738923 このとき注意しないといけないのが…

OpenGL、OpenGL ESリファレンス一覧

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 …