program
Direct Music をいじろうとしてなぜかバージョンが八で更新が止まっていることに気づく。 XACT が Music の後継だろうと思っていじって見るもドやらこれは製作用ツールでデータを作らないといけないらしいことに気づく。(シンプルでいい感じなんだけど。) Di…
おのれ朝飯め。一日で劇的に悪くなる食べ物なんてそう無いと思うが。 生のエビですら、(かなり黒くなってたけど)大丈夫だったのに。チャーハンのくせに。 一日一コード WAVE ファイルを堪能しよう。(5) 〜 懐かしき正弦波 矩形波 〜
今回は生のWindows APIを使って作業。直接ファイルからWAVEを再生する。 バグがとれずに三時になってしまったので寝る。 一日一コード WAVE ファイルを堪能しよう。(4) 〜 地道に低レベルAPI 〜
一日一コード WAVE ファイルを堪能しよう。(3) 〜 生きる古代王国 DirectShow 〜
といってもやはり書く量は少ないよなあ。せいぜいクラス一つ分くらいだし。 今回は昨日に引き続き、MCIを使ってWAVEとMPEGファイルのをする。 面倒なのでコントロール類は一切なしだ。 それにしても文字列の判別はかなり面倒。 一日一コード WAVEファイルを…
今日は waveファイルの再生をと思ったんだけどさっさと寝たいので MCIはおろかただのPlaySound()の紹介記事になってしまった。 DirectXなんてとんでもない。 一日一コード WAVE ファイルを堪能しよう。〜いろいろ選べるAPI〜
今日は頭が痛いから適当にと思っていたら直ってしまったのでいつも通りに書く。 ストップウォッチ Win32APIバージョン。まあ、なんというかもう少しましなお題はなかったのかね。 一日一コード ストップウォッチを計ろう。(2) 〜真心手作り Win32API 〜 なか…
一日一コード あまり役に立ちそうもないコードをちまちまと書き続けるシリーズ。とうとう、一ヶ月続いてしまった。 まあ、マンネリ化しないように気をつけるだけか。 今回は .NET 2.0 でストップウォッチを作るだけ。 最近、プログラムの時間を1時間くらいし…
今回はマスク処理の基礎。1時間で適当に書いた。検証もしてない。コードは一分で書いた。解説イメージもない。 なのに1時間かかった。なぜだ? マスクの基礎。〜花粉症には役立ちません。〜
一日一コード 今日もドラッグアンドドロップ対応だ。ネタがないというわけではないのだけれども少しめんどいので逃げてるだけ。 まあ、普通にコードを確聞にはものすごく簡単なのだけれども、今まで使っていたクラスについて考えるとややこしくなってくる。 …
DirectDrawのメッセージループ回り、半透明合成とかフェードアウトとか時間効果のための処理があまり進まないので、.net でドラッグアンドドロップ対応してみた。 楽と言えば楽だけど。自力で探してたら時間かかりすぎる。 なんじゃこりゃ。(99% MSDNよりコ…
今回は Windowアプリケーションの アクティブ判定について。 それとドラッグアンドドロップ対応。 一日一コード 今回の分。 ページの色を変えてみたので少し暗くなったかな。
今回は DirectDraw のバグフィックスに関する話。 IMEが消えてしまうバグ いい加減だった画面モード切替。 垂直同期の取り方。 コードとかこれで一応はまともなプログラムといってもいいかもしれない。 それにしてもまあ初心者向けの本とかアカデミックな環…
今日のお題は大変重要なペイントアルゴリズムだ。 このアルゴリズムは塗りつぶしや迷路探索やらSLGゲームの戦闘の時の行動範囲を捜査するのに使われる。 教育的にも実用的にも重要な意味を持つ。 今日の戦利品。 以下抜粋。C++ 最近こればっかりだな。void C…
今回は正確にfpsを刻むためのコード。 理論的にはすぐに考えつくのだが、実際に計測する部分がうまくいかず、かなり苦戦。 今回の見所はなんと言っても小数点以下の処理を分数を使ってお手軽簡単にやっているということだ。 ただし、少し、手で計算するとこ…
今日は疲れたのでやめようかとも思ったがそんなことではいけない。 というわけで即興で書いてみよう。あくまで適当。 RGBサーフェスを XRGB に変換する。 DWORD *lpXRGB, BYTE *lpRGB;for(int i=0; i { *lpXRGB = 0x00000000 | ( *(lpRGB) lpRGB += 3; lpXRG…
お題。1ピクセル1ビットのサーフェスをつくってチェック模様のサーフェスを作れ。 こんな感じになる。 かなりややこしい。難しい。とりあえず動いたけど、未だによくわからん。 ソースとか
むずい。かなり難しい。 お題、1ピクセル1ビットのサーフェスに白黒のチェック模様を作りなさい。
今回は簡単なビット演算の使用例として、2進数のかけ算を実装してみる。 ビット演算による2進数かけ算筆算。
今回は昨日のタイマーの分 Win32APIと、簡単なエフェクト。DirectDraw7 Windows タイマー とFPSのはかり方。(精度は悪い) エフェクトとDirect Drawのサーフェスメモリアクセスのしかた。
なぜ今の時代にDirectDraw かというとバッファを直接いじれるから。 単色塗りつぶし。フェードアウトとか半透明合成とか。 まあ、一番手っ取り早いのは HSPでループ書いてポインタをDLLに渡すのが一番簡単。 でもそれだとあまり勉強にはならない気がするので…
ついにフルスクリーンとウインドウモードの対応に成功した。 サンプルがないのでかなり時間がかかってしまったが、やはりプログラムは最低限動かないと気が済まない。 Win32APIのすばらしさを改めて痛感することになった。 詳しい説明
DirectDraw のウインドウモード対応に大苦戦。 一応、フォーカスを失っても落ちないようにはなった。 これができたら、次はいよいよに次元エフェクトに突入しよう。
昨日の夜中につくっておいた。 ただ読み込んで表示するだけ。もちろんウィンドウはビットマップの大きさにあわせる。 C#版も作ってみた。なんかバグがとれないけど。 今までの分 今回の分 C#の分
今日は簡単な.NET Framework 2.0版 ビットマップローダー なんと重要なのはたったの三行。ソース
今日も下手なコードを非地すら書きなぐるコラム14回目。 今日はもう忘れ去られてしまった DirectDraw ビットマップローダー なんと sample.bmp を読み込んでフルスクリーンで表示する。しかもきちんとビットマップのサイズに合わせてだ。 ただそれだけ。 ソ…
今日はビットマップローダー。他の言語でも実装しようかと思ったら意外と苦戦。 だって資料が英語ばっかり。 純粋なWin32API のみで純粋なビットマップのみを表示する。 なんとビットマップのサイズに合わせてウィンドウサイズを変更する特典付きだ! ソース…
今日はネタ切れ。まあ休憩をかねて特におもしろくもないWindow初期化コード。 もちろん、互換性対策(windows3.x)とかは無視。 簡単な初期化
joel on softwareの問題を11回にわたってやってみたわけだが、本来ならこのくらい30分程度でできなきゃいけないんだろうな。 まあ、そんなわけで、文字列の中で同じ文字が一番長く続くところを探す。 C言語 char *find_chars( char *str) //見つからない場合…
今日はアルゴリズムの教科書にも載っていてためになる二分検索だ。 人間は大抵二分検索をしているが、コンピュータだと数字じゃないとできないのでアルゴリズムよりもデータに気を遣う。 まあ、とりあえずアルゴリズム自体はほとんど難しくない。 なんとなく…