1人増えた
2009 年 9 月 18 日11:14:53 by amano何度目の出荷か覚えていないねんどろいろミクさんが1人増えますた。
とりあえずネギ持たせて。
アイマスねんぷちも同じ場所、左側に並べてるけど、こう増えてくると専用のスペースが欲しくなるような。この先もボカロねんぷちにRQ Ver.、CM Ver.、ライブステージVer.のミクさんも増える予定だし。
何度目の出荷か覚えていないねんどろいろミクさんが1人増えますた。
とりあえずネギ持たせて。
アイマスねんぷちも同じ場所、左側に並べてるけど、こう増えてくると専用のスペースが欲しくなるような。この先もボカロねんぷちにRQ Ver.、CM Ver.、ライブステージVer.のミクさんも増える予定だし。
それだけなんで。
メニューの構築方法を変えて、プレイリストから楽曲リスト取得を最大1000曲までに制限かけて、ビジュアルスタイルを使用するようにしたところで、リリース。
http://miku39.jp/dists/software/miku/HatsuneMiclock.html
これ用のイラスト用意してくれる方も随時募集中。
今のところコメントもなにもないので、自分の使い方に合わせて好き勝手に作っているけど。
ただの時計アプリにiTunesをコントロールさせたら、かなり便利になった気がする。(自分好みで作っているからなー)
なんも制限かけてなく、現在のプレイリストから全曲引っ張り出すので、プレイリストが大きければ大きいほどポップアップメニューが表示されるまで時間かかるのが欠点か。4000曲で10秒、Debug/Releaseで時間が変わらないから、iTunesとの通信にかかる時間と思われ。4000曲は確認したけど、1万曲とかあった場合、きちんと動くか保証しない。
ちなみに、Ver.0.2からダブルクリックで曲の再生、停止になっているので(念のため)。
ところでCreatePopupMenu()で作るメニューって、マウスホイールでスクロール可能にできるのだろうか…? スクロールするほど巨大なメニューって今回初めてなので…。
http://miku39.jp/dists/software/miku/HatsuneMiclockBeta.zip ※9/9 β版は削除しました。
最初はOpenGLにも(ゲーム機みたいに)カメラ用の関数あるんだろう程度にしか思っていなかったのだけど、全然見つからないのでなんだろう…と各地のサイトをうろついてると、「あー、行列の設定でやるってことね」と把握。で、手軽に視点、参照点を使えるようにgluLookAt()があると。
if( g_input->isButtonPressed( 0, XINPUT_GAMEPAD_DPAD_LEFT ) ) g_camera_x -= 0.1; if( g_input->isButtonPressed( 0, XINPUT_GAMEPAD_DPAD_RIGHT ) ) g_camera_x += 0.1; if( g_input->isButtonPressed( 0, XINPUT_GAMEPAD_DPAD_UP ) ) g_camera_z -= 0.1; if( g_input->isButtonPressed( 0, XINPUT_GAMEPAD_DPAD_DOWN ) ) g_camera_z += 0.1; glMatrixMode(GL_MODELVIEW); glLoadIdentity(); LookAtGL( g_camera_x, g_camera_y, g_camera_z, 0, 0, 0, 0, 1, 0 ); ※↑gluを使わずに視点、参照点から行列を設定する関数
おー、カメラが動くようになったどー。
テクスチャのロードはどうしようかなぁ、GDI+使っちゃうとWindows専用になっちゃうし…ってことで、PNGをlibpng使ってロードするように。きちんとロードできているか試しにglDrawPixels()で描いてみたところ、画像が崩れるのでおかしいなぁと調べてると、どうやらこの関数はwidthが4の倍数じゃないときちんと描いてくれないな。
とかやっていたら、glpngという便利なモノを発見。本家サイトがなくなってるので、ここのやつを使った。
pngInfo pnginfo; GLuint texture = pngBind( "d:\\miku\\miku_bonus_files\\miku_sd.png", PNG_NOMIPMAP, PNG_ALPHA, &pnginfo, GL_CLAMP, GL_LINEAR, GL_LINEAR );
ってやるだけでOpenGLテクスチャを作ってくれるすぐれもの。
あとは、
glBindTexture( GL_TEXTURE_2D, texture ); glBegin( GL_TRIANGLES ); glTexCoord2f( 0, 0 ); glVertex3f( -1.0, 1.0, 0); glTexCoord2f( 0, 1 ); glVertex3f( -1.0, -1.0, 0); glTexCoord2f( 1, 0 ); glVertex3f( 1.0, 1.0, 0); glTexCoord2f( 1, 0 ); glVertex3f( 1.0, 1.0, 0); glTexCoord2f( 0, 1 ); glVertex3f( -1.0, -1.0, 0); glTexCoord2f( 1, 1 ); glVertex3f( 1.0, -1.0, 0); glEnd();
と書くと、三角形x2を使った四角形にロードしたPNGが貼り付けられて表示される。
Direct3DとOpenGLどっちにしようと迷ったあげくOpenGLで遊ぶことに。なんかの拍子にPS3で3Dやるかもしれないしネ。
OpenGLは昔にちょろっとポリゴン出したくらいの初心者同然なので、OpenGL本家サイトやGoogle頼りに基本から。
この投稿の続きを読む »
ドキュメントさらっとかいて、いくつかバグと、細かい修正したところで一旦うp。
http://miku39.jp/dists/software/miku/HatsuneMiclock.html
今日はちょうどミクさんの誕生日じゃないですか。2年前にソフトを買ったときは、FF11ログインしないと何かとうるさそうだしなぁギブアンドテイクで何かしらのメリットもらってるんだし少しくらいは他のことは妥協してログインするかとFFに時間を取られ、創作活動がまったく出来なかったのは結構不満でしたな。
久しぶりに自由にプログラム書いてて面白かった。
ふと思い立ったらこんなものを作ってしまったり。
これでようやく長年使い込んだ真奈美くろっくをリプレースできそうだ。