2008/07/03(木)IRC wide系(IRCnet) #もちこ

はてブ数 2008/07/03 00:41 計算機な日記::ボクと計算機つーさ

うぃ

wide系のIRCに、#もちこ チャンネルが作られました。
代理で告知トピ立ててます。もちこ見てるかー(笑

「予定は未定、話題は無題、明日は明日の風が吹く、
 あなたの街のもちこの小部屋 24時間営業中!  」

知る人ぞ知る、Yahoo!チャットの老舗ルーム「もちこ」。
2~3年前くらいまではかなり賑わっていたように思うのですが、
時代の流れとともに、徐々に人が減り、直近数ヶ月においては
誰もいなかったり部屋自体が消えてしまっていたり……。
そんな中、有志の人がIRCにチャンネルを作ったやうです。

IRCクライアントソフトをお持ちでない方には、LimeChat2をオススメです。
以下のURLからダウンロード・インストールすれば参加できます。
http://limechat.net/

というわけで、どうぞお気軽に IRCnet系 #もちこ へ!
毎日同窓会しましょー(笑

カビくら! カービィくらぶ同窓会 トピック より

別にメンバーオンリーというわけでもないので、
興味のある方もない方も気軽にどうぞ。
話題は多少偏るかもしれませんが(笑

2008/05/19(月)Direct3D Sprite の罠

はてブ数 2008/05/19 00:35 計算機な日記::ソフト作りつーさ

この間のDirectSoundといい、DirectXには罠がいっぱい。

回転とか拡大縮小とか簡単にやりたいなーと思ってDraw2Dを使ってみるもどうも直感的じゃない(個人的に)。
そう、これ描画先座標が拡縮回転前指定なんですよね。
つまり、平行移動、拡大縮小、回転 の順番。
どっちかと言えば、2倍に拡大したものをどこどこへって指定したいけど、↑だと描画先に1/2しなきゃいけないし。その上、Viewport+Transformで原点自由に変えられてこりゃいいやーとか思ってたら、ちょっとちょっと、Draw2DたんはTransform弄っちゃうじゃないですか!
Draw2Dはつかえねー……。とゆーかかなり使いにくい。こりゃもー自前でTransformするしかないよねー。
でも行列って計算コスト高いしなぁ……、そもそも、どこを描画時のパラメータにしてどこを描画前に予め与えておくのよ。前が見えなくて先週一週間ずっと胃を痛めていた。とか

今日あらためて、結局やらないかんことって何? と整理してみる。
チップ単位での 拡大縮小・回転・平行移動。そしてViewport+原点弄くるための、平行移動……
あれ、これローカル座標系とワールド座標系の行列計算してるだけじゃーん! ってことに気づく。
ついでに、計算コストの高い行列同士の計算は、予め手計算してみたら案外すっきり。

というわけで、今日やったこと。
拡縮→回転→平行移動 の順番で噛ました行列を作って返してくれるメソッドを作った。
えおなゆ様にすぺしゃるさんくす!
今回は、前回のQoFで避けていた地雷をどんどこ踏みつつ、いろんな人にお世話になりまくっているなぁ!

続きを読む

2008/05/10(土)Managed DirectSound でハマる

はてブ数 2008/05/10 19:05 計算機な日記::ソフト作りつーさ

例の OggVorbis.dll もよく動いて、Framework系の仕事は一通りかなぁと思っていた矢先のデキゴトです。
昨日、部室に置いてあるパソコンで例のコードにより音楽を再生(ストリーミング)してみたときのデキゴトです。

 音飛び しまくる。 音が飛びまくる。

え、なんで?! 俺のマシンではちゃんと動いていたし、
そもそも、このDLLここで作ってテストしたときはちゃんと動いてたんだよ?

(追記 22:35) 結論出た。

続きを読む

2008/05/04(日)教えてもらったからできた!

はてブ数 2008/05/04 19:50 計算機な日記::ソフト作りつーさ

J-SONさんありがとう! ありがとう!

というわけで、続 C++/CLI で Stream継承して Ogg Vorbis をデコードするクラスを書きたいよ

同じところで填った人のために書いておこうと思う。

要するに、コールバックされる関数は
"基本的にはStream内のメソッドを呼び出したときにしか呼ばれない" ので、メソッドの頭で pinして、
OggVorbis_File::datasource の中身を更新してからov_ナントカを呼び出せばいいというお話だった。

あぁそうなのか。datasourceの値なんて後から変更できないと思っていたよ。
Win32での開発におけるコールバックの値なんて後から変更できないことがほとんどだから、
初めてソースを見せてもらったときは、"datasourceの値がいじれるなんてそんなっ"って感じでしたが(笑

200行あまりで ref class OggDecodeStream : public Stream ができたよ!
後はこれをC#なりVB.net(使わんけど)なり、.NET言語からよ参照して呼び出してやりゃいいと。

というわけで最後にもう一度書きます。

J-SONさんありがとう! ありがとう!