GLKitのテクスチャ

今までiPhoneでOpenGLアプリケーションを作るときに面倒だった要素の一つとして、テクスチャのロードの問題がありました。DirectX等はテクスチャを使いたい際に画像ファイルを指定するだけでそこから自動でテクスチャを生成してくれたりするのですが、OpenGLの場合はそういった機能は用意されていないので、iPhoneの場合も自分で画像ファイルを展開してからビットマップの配列に変換してテクスチャを生成する必要がありました。GLKitではテクスチャローダーというクラスが用意されていて、ファイルを指定するだけでテクスチャを使えるようになりました。便利。
なお、後述の通りこの部分に関しては公式ドキュメントと実際のSDKのAPIの仕様に差異があるため、不確かな情報となっています(2011.10.16現在)。十分に注意してください。 “GLKitのテクスチャ” の続きを読む

OpenGL Gameテンプレート解読

ついにiOS5がリリースされました。iOS5で新たに加わった機能は沢山ありますが、OpenGL周りではGLKitフレームワークが新たに加わり、プロジェクトテンプレートもGLKitを使ったものに変更されたので、GLKitに慣れる第一歩として早速そのプロジェクトテンプレートを解読していきたいと思います。 “OpenGL Gameテンプレート解読” の続きを読む

iOSのウィンドウやビューの基礎クラス

iOSアプリケーションのUI絡みのクラスは、種類が多いので特にiOSアプリ開発をはじめてから日の浅い方々は全体像の把握に苦労していることが多いように見えます。アップルも公式ドキュメントを沢山用意していますが、この部分は量が非常に多く全体像が見えていないうちは目的の情報を探すのにも一苦労なので、基礎的な部分だけをまとめておこうと思います。 “iOSのウィンドウやビューの基礎クラス” の続きを読む

AsyncUdpSocketの使い方

仕事やプライベートでもUDP関連のプログラムを書くときにAsyncUdpSocketを使っています。自分でソケット関連のコードを書かなくてよいので圧倒的にラクなのですが、このライブラリはドキュメント類があまり充実しておらず、いつも使うときに調べ直すのが面倒なので、ここに備忘録的にまとめておきます。 “AsyncUdpSocketの使い方” の続きを読む

ブロックを使ってHTTP通信

OS X 10.6, iOS 4.0から使えるようになったブロック構文。iOS 3系のデバイス(特にiPad)のことがあったため、なかなか本格的に使う機会が訪れなかったのですが、先日iPadもOSが4.2となりブロックが使えるようになり、これでようやくブロック構文を本格的に使って実装を行っていく事ができそうです。 “ブロックを使ってHTTP通信” の続きを読む

Xcodeのテキストマクロ

プログラムを少ない労力と時間で書く上でIDEによる補間機能はとても便利だ。限定的ではあるがXcodeではテキストマクロを活用すると、通常の補間よりも更にラクができる。コマンドを覚えておかないと使いこなせないので、忘れないためのメモ。
“Xcodeのテキストマクロ” の続きを読む

vDSPを使う(高速フーリエ変換編 その5)

その4までで、一応窓関数も使った高速フーリエ変換が実現できました。しかし実際にオーディオのリアルタイム解析などで使おうとすると、このままでは使いにくいし効率も悪いので、後々使いやすい形に実装しなおします。 “vDSPを使う(高速フーリエ変換編 その5)” の続きを読む

vDSPを使う(高速フーリエ変換編 その4)

簡単な高速フーリエ変換ができるようになりましたが、なにも考えずに信号をフーリエ変換すると周波数特性がきれいにでない場合があります。これは信号に含まれる成分の波長がフーリエ変換する長さに会わなかった場合に発生するのですが、「窓」と呼ばれるものを使うとこの問題を低減できます。「窓」を作る機能もvDSPには用意されているので使ってみます。 “vDSPを使う(高速フーリエ変換編 その4)” の続きを読む