プログラミング

Windows8 プログラミング その2 new!

タッチパネルに対応したアプリケーションを作成する 前回の結論として、Windows8上で動作するタッチパネル対応アプリケーションは簡単に作成できるようです。ウィンドウプロシージャを以下のように編集します。 HRESULT WndProc(HWND hWnd, UINT msg, WPARAM…

Windows8 プログラミング

久しぶりの更新となります。今回はWindows8でタッチパネルを使ったデスクトップアプリケーションを作成する際のメモです。とりあえず雑記となります。 タッチパネルとマウス Windows8では既存のGUIアプリケーションをタッチパネルで扱えるように、OSによるタ…

Android NDK入門 その1

最初に、Android NDK+Eclipseでビルド環境を構築します。(編集中)

XNA4.0入門 その1

(編集中)

その1

(編集中)

数学をとらなかった人の為の3D数学 その8:四元数(Quaternion)

四元数とは (編集中) 極形式と極座標 x^3=1を解くと(編集中) 四元数による回転表現 (編集中)

数学をとらなかった人の為の3D数学 その7:微分と積分

微分と積分はアルゴリズムを考える上で必要な考え方です。 画像操作や圧縮、物理計算など、色々応用できるので使えるようにしておくと便利です。 (編集中) 微分 ・変化量(射影) ・等加速度運動 ・円の接線(接点の変化量(傾き)) (編集中) 積分 (編集中)

3Dで格闘ゲームを作る話 その1

近況報告のような感じです。 ここのところC#+XNAでゲーム作ってたり、Objective-C+iPhone/iPadでアプリ作ったり、なかなか暇にならないこの頃です。 が、これに追加して3D格闘ゲームを作ることになりました。 2月頭から始めて、期限は2月21日です。3週間です…

その6(ご質問スレッド)

ご質問をいただいたのでそのお返事をヽ(・ω・)ノ > 1.audio_io.cpp内でwfx.nSamplesPerSecの値を44.1[kHz]もしくは22.1[kHz]としていますが、 > なぜ44.1[kHz]ではないのでしょうか? skypeやラジオ、電話では確か11,025[Hz]が使われています。CD音質は44,100…

数学をとらなかった人の為の3D数学 その6:衝突判定

衝突判定とは 当たり判定とも(光線や線分なら交差判定とも)呼ばれる。・複雑な形状と近似 ・2D限定ならば特化した判定 (編集中) 2D衝突判定 矩形、円、テーブル (編集中) 球と球 基本的には円と(編集中) AABBとAABB AABBとは Axis-Aligned Bounding …

数学をとらなかった人の為の3D数学 その5:N次元空間

4次元空間をレンダリングする

c_dfDIKeyboard c_dfDIMouse の中身を調べる話

久しぶりの普通の更新ですヽ(・ω・*)ノ この話のきっかけは、GDKライブラリをVC++2008用にインポートした時でした。 DirectX9SDKに dinput.lib が存在せず、ビルドができなかったのです。 DirectXはCOMで実装されているので、本来はlibファイルをリンクする必…

数学をとらなかった人の為の3D数学 その4:概要2

行列(Matrix) 前回、行列とはベクトルを座標変換するものであると書いたが、具体的にどうか。 ある数nと分数1/mを考える。 分数1/mは、そのまま1/mという数を表現するものであるが、nを1/mする数でもある。 ここで、ある数nを1Dベクトルとして見れば、分数…

数学をとらなかった人の為の3D数学 その3:番外編(N次元空間)

4次元ベクトルx,y,z,wのw要素、4x4行列の44要素

数学をとらなかった人の為の3D数学 その2:ベクトル1

三角関数(sin、cos) (編集中) 射影変換 ベクトルとは ベクトルの内積 三角関数と内積

3Dプログラミングあるある話

描画順で悩んだら ZバッファやZソートの前にまずカリングをONにして法線の向きの確認を。 その三角形は思った通りに展開されていないかもしれません。 オブジェクトが真っ黒 ディスプレイモード変更時にオブジェクトが真っ黒になってしまった時は、レンダリ…

数学をとらなかった人の為の3D数学 その1:概要

ベクトル(Vector) ベクトルとは、向きと長さを持った数である。それは2Dであっても3Dであっても変わらない。 ベクトル同士や複数のベクトルは加減算でき、下の図のようになる。 面白いことに、始点が同じベクトルを加算した結果は、2Dでは四角形、3Dでは立…

数学をとらなかった人の為の3D数学

内容は2D-4Dベクトルと3x3-4x4行列、四元数(クォータニオン)です。 高校前半までの数学で理解できる、図を主に用いたテキストを作ります。 講義の練習用なので、遅筆加筆多数になりそうですが。

C/C++プログラマー向けメモ帳

久々にバージョンアップしました。変更点は、 編集中かどうかの判定をちゃんとするよう変更(タイトルバーに*を表示) ビルド、実行、実行中断 を追加(要VC++) ダウンロード http://d.hatena.ne.jp/nepo_n/edit.zip コンソールアプリケーション、Win32アプ…

ウィンドウメッセージその2

前回のコード部分になります。 ついでに現在使っている「プロシージャ内でのCtrl,Shift押しの検出」を追加してみました。 // フックプロシージャ LRESULT HookProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { // このウィンドウに関連あるウィン…

ウィンドウメッセージその1

今回は検索(ウィンドウメッセージとかのワード)で来た方への記事になります。 Windowsプログラミングにおいて必須なのがウィンドウメッセージの処理です。 エディットコントロールにしても、ツリービュー、リストビュー等コモンコントロール等にしても、ウ…

その3

一通りパターンを書き終わったので、動作テストしてみました。 http://d.hatena.ne.jp/nepo_n/bullethell.zip # 現在、カスペルスキーがトロイの木馬と誤認識する模様。 ↓パラメータはこんな感じ。 int i;// 待機 task.push_back(Create(BL_WAIT,180,540,1,5…

その2

システム基盤が出来上がった所で、まず自機の設定を作ってみます。 サイズ → 絵が32*64で、当たり判定はその半分くらい(後で調整) 攻撃手段 → 威力△連射◎な通常弾と、威力◎連射×+移動速度半分になるレーザー弾 生命管理 → 1Hit-Deathのライフ制 アイテム …

その1

ゲーマーの心を刺激するシューティングゲーム。 グラディウス、パロディウス等や、2000年頃から出現した弾幕シューティングなど、様々なスタイルが存在します。 今日からは弾幕シューティング(以下STG)を作っていこうと思います。 そもそも弾幕STGとは何ぞ…

ぷるぷるシミュレーターver2

http://d.hatena.ne.jp/nepo_n/20100116久しぶりにバージョンアップしました。 ver2ではグループごと(今は赤緑青3つ)に揺れをXMLで制御できるようになりました。 また、グループには頂点を指定でき、頂点を中心に動かせるようにしました。 (頂点を設定し…

整理できた分を公開してみます。 長ーいので回線細い方は注意してくださいヽ(・ω・)ノ どちらも完成まで10日かかってます。 ・音声チャット http://d.hatena.ne.jp/nepo_n/20100225 app.h type.h connect.h file_io.h audio_io.h app.cpp connect.cpp file_io.c…

その5(番外編)

音声チャットに特化した圧縮アルゴリズム まず音声は波形です。 同じデータが連続することはほとんどなく、上下に運動しています。 常に中心を通ることから、中心付近の値が頻出します。 以上のことから符号化で可逆圧縮したいと思います。 よくでるデータに…

その4(最終回)

圧縮+暗号化+無音検知を全部含めて自分のライブラリの圧縮クラスを使用しました。 そして圧縮効率から音質を決定しました。 8bit+22,100/44,200Hzを選択できます。 ダウンロード ・ファイル転送機能付きボイスチャット http://d.hatena.ne.jp/nepo_n/voic…

その3

1h→UDPインターフェースの実装 1h→UDP+waveIn/Out+Chatアプリ(既存)の組み合わせ 1h→通信テスト/デバッグ こんな感じで実装を進め、一応は形になりました。 が、ここで問題点や改善点が出てきました。 通信帯域の使用量 基本的に音声は相互通信なので、上り…

その2

waveIn/Out系関数の中で使うものは、 waveInOpen waveInPrepareHeader waveInAddBuffer waveInStart waveInUnprepareHeader waveInClose ・waveInOpen関数 デバイスをオープンしてそのハンドルを取得します。 コールバックを指定でき、そこでOPEN、DATAFULL…