なうろーでいんぐ
キーボード↑↓
でもいいぞ
旧サイト形式へ帰りたい人
ogg_vorbisのサウンドテスト
2014年02月07日16時44分
前言ってた奴。
枠組みだけ完成。
サイバーサンダーサイダーをogg化して
ラグなく再生できるのを確認。
コードは以下
ファイル 990-1.png

変数定義は
WAVEFORMATEX wfe;
static WAVEHDR wheader[2];
char *pWave[2];
int buf_part = 262140;//適当
noがバッファ番号のダブルバッファ対応関数。
ダブルバッファ処理については以前やったので除外。
ああ、外クソ寒いけど出ようかな。

同日 19:13
外に出ると言ったな、あれは嘘だ。
音源の切り替えは簡単に出来た。
スレッド止めてwaveOutCloseしてov_clear
の後に音源を設定し直し、ov_fopenした際に
再度MM_WOM_DONEメッセージが飛ぶので、
未初期化フラグを立てて再生スレッド呼び出す。
途中で止める場合は普通にSuspendThread
およびwaveOutPauseをかけるし、
再度呼び出す場合はwaveOutRestartと
ResumeThreadするだけで動く。
後はカーソルでのクリック位置検出して
呼び出し先を変えれば、サウンドテストの完成。
思ったより早かったな。

メロンブックスで琴乃舎さんのタカオ本再販予定
立ってたので速攻で通販予約した。

追伸---
最近はエレクリpiano.verばっか聞いてる。
http://www.nicovideo.jp/watch/sm20782051
あとは炎龍レーヴァテイン
http://www.nicovideo.jp/watch/sm21161880
記事カテゴリ:プログラム関連
スレッドによる計算分離
2014年02月06日15時16分
ほぼ全部LPDWORDに置き直した上で
カーソル位置計算やら回転角度計算やら、
描画と関係ない計算部分を別スレッドで
処理させたら50%程高速化した。
ちょっと気になるラグがある程度。通常は気がつかない。
まだ改良できないか思案中。

同日 15:25
背景描画時に同時にトランジション透過度を反映するよう
ビットシフト演算による処理したら80%高速化した。
あらかた満足。

同日 17:50
黒画面からすぐに背景画面に展開するには、
次に表示する背景画像をセカンダリに保持して、
対処する必要があるのと、トランジション番号で
処理を変更した場合、参照する黒色度レイヤー等の
読み直しが完了してからInvalidateしないと
中途半端な描画がちらつく。
というわけでその処理を追加した。
現在のスレッド1週の時間は4.0fでまぁまぁ
見れた動きをしている。
記事カテゴリ:プログラム関連
アフィン変換の復習
2014年02月05日11時32分
ようは回転なんだけど。
ファイル 988-1.png
元画像→転写先だと画素に穴が開くので、
転写先から元画像の位置を逆変換する必要がある。
なお、アフィン変換公式は
cos(α+β)=cosαcosβ-sinαsinβ
sin(α+β)=cosαsinβ+sinαcosβ
を利用するが、証明は余弦定理と2点間の距離が必要。
詳しくは加法定理の証明でググレ。

星型をPolygonとSetPolyFillModeで生成しよう
と最初は考えたが、割りに合わなそうなので止めた。
RGNを生成する方向もボタンを作るならアリだが
単なるトランジションでそこまでやる必要は
なさそうなので却下。
後はこいつの量産と高速化の実現をどうするか。

同日 18:10
そのまま拡大した場合(↑)と
線形補間した場合(↓)。
ファイル 988-2.png
ファイル 988-3.png
まぁ、補間した方が質がいいわな。

同日 22:02
24bitビットマップのポインタを直接弄るのを
3回ほど繰り返すともう遅くなる。
800×600のサイズで1画素3byteのRGBを、
ただでさえ3倍の計算量でやっとるからな。
ざっと9倍遅いわけやな。
そこに更に全てdouble型で計算入れたとすると
重いのは想像できる。
これはまたLPDWORD+32ビットビットマップ処理の
出番の予感、ビット演算でRGB一括処理すべき。
記事カテゴリ:プログラム関連
トランジション反映完成
2014年02月04日13時47分
できた。
ファイル 987-1.png
特定位置にカーソルが来た時にニョキっと
枠描画するUIも出来た。
javascriptで鍛えた速度処理が役に立った。
次はアフィン変換しながらのトランジションか。
検証の意味合いが強いので微妙ではあるが。
やらざるを得ない。
しかし、そろそろ遊びたいので外に出る。
こもりっきりは良くないヨネ。
記事カテゴリ:プログラム関連