「あの楽器」のアプリを作ってみた(2)

iPhone SDK, OpenGL ES歴2日目のdandelionです.こんばんは.

今日の昼頃から先日作ったアプリをiPhoneアプリ(OpenGL ESベース)に移植開始.
4時間位かけてそれらしいものが完成.

シミュレータで動かしているのでマウスクリック(=実機のtouchと対応)で
エフェクトが変化します.まだ,マルチタッチ対応ではありません.



あと,iPhone Developer Program Standardに登録したものの
Appleからのメールが届かないので実機で試せず。。。orz

****************

とかマイペースでやってたら同じ事やっている人が先に公開してた。。。orz
なんという激しい開発競争(苦笑)



****************
【追記】

動画にて「三角形が重なったときに奥のを上書きするのが気になる」
というごもっともなご指摘を受けたので修正版を以下に掲載します.

以下,ちょっとした言い訳タイム.

lineWidthを増やして三角形を単純にLineで書くと,Lineの繋ぎ目がうまく描画されないので,
前バージョンでは三角形の塗りを2回やって誤魔化していたのですが,
速攻突っ込まれてビックリしました.スミマセン.



【追記②】
動画に対する「実機を買いましょう!ぜひ!」というコメントに返答.
実はiPod Touch持ってたりします(苦笑)

でも,iPhone Developer Program Standardの登録が完了していないので,
実機では動かせないというジレンマが。。。もっと早めに登録するべきだったなぁ(遠い目)

本当は,

自作アプリをApp Storeで世界に向けて販売できる!! iPhone SDKプログラミング大全 (MacPeople Books)

著者/訳者:木下 誠

出版社:アスキー・メディアワークス( 2009-01-07 )

定価:

Amazon価格:¥ 2,916

大型本 ( 320 ページ )

ISBN-10 : 4048676067

ISBN-13 : 9784048676069




が出てから動き出そうかな-と思っていたのですが,
気長に待っていたら冬休みが終わってしまうので見切り発車な感じで.

残っているのはマルチタッチ対応と楽器部分の実装,フレーム作成かな.
楽器に詳しくないので(??)音素材を提供していただける or サイトを紹介してもらえると助かります.

【追記③】
いい加減集中力が切れてきたので,気分転換がてらにアルゴリズムをPDFにまとめてみました.
至ってふつーかつ手抜きな資料ですが参考までに.
anogakki_impl.pdf

iPhone SDKで遊んでみる(OpenGL ES)

前のエントリで作ったプログラムをOpenGL ESベースにして,
iPhoneアプリにしてみよう作戦開始(※注意:途中で挫折する可能性があります).

「とりあえず基本のテクスチャマッピングでしょ」ということで
iPhone SDK, OpenGL ES初挑戦にも関わらず無謀にもチャレンジしてみる.

ええと,OpenGLとは頂点記述が違ったり,APIが削減されてたりしてて地味に苦労しました。。。orz
#そもそもOpenGLを使うのが久し振りすぎて思い出すのに時間がかかった(苦笑)

そんな感じで途方に暮れていたところ,NeHe ProductionsのOpenGLチュートリアルがiPhoneに移植されたみたいです – 強火で進めで紹介があったiPhone Development: OpenGL PostingsのLesson 6がかなり参考になりました!!(こうやってパラメータ指定するのか-とか)

ということで,サンプルを少し改造して,一面のポリゴンにテクスチャを貼ってみました(下図参照).
続いて単純な図形の描画だったり,マルチタッチ関連APIを調べてみようかなと思ったけれど,
風邪気味な感じなので今日は寝ます。。。


「あの楽器」のアプリを作ってみた



にて要望が挙げられている「あの楽器」の実現がニコニコ技術部界隈で流行っているらしい.
その流れに便乗してOpenCVのリハビリも兼ねて,てきとーにアプリを作ってみました.
※書き殴りなのでソースが酷いことに。。。orz

図形が線,三角,丸になる条件が元動画からはイマイチわからなかったので乱数で適当に出しています.
こういうエフェクト系の知識が皆無なので勉強したい今日この頃.



【追記】
上記アプリにおける描画はOpenCVの描画関数(cvLine, cvCircle, cvPolyLine)で実現しています.
普段OpenCVでこんなエフェクトを使った描画はやらないので新鮮な感じでした.

上記のデモ程度であればイメージの表示,ROIの設定,図形描画,マウスイベント検出等のOpenCVの基本機能で
実現できるので入門的な課題としてはいいのかもしれませんね(※OpenCV知ってる人だったら30分位で作れる?).